У меня есть следующий (хотя и) небольшой код реализации «шаблона модуля обнаружения»:
(function (CkSpace, $, undefined) {
CkSpace.GetLoanValues = function () {
var url = "/Home/UpdateAPR";
$.get(url, { Amount: $("#slider").slider("value"), Length: $("#slider2").slider("value") }, function (data) {
$("#LoanAmount").html("£"+data.LoanAdvance);
$("#TotalToRepay").html("£" + data.LoanGrossRepayable);
$("#Representative").html(data.LoanAPR);
$("#MonthlyRepayTerm").html(data.LoanTerm);
$("#MonthlyFee").html("£" + data.LoanInstalment);
});
}
} (window.CkSpace = window.CkSpace || {}, jQuery));
У меня сложилось впечатление, что, используя window.CkSpace
, я смогу получить глобальный доступ к CkSpace как к корневому пространству имен для любого из его общедоступных членов. Однако, когда я использовал это вместе с $(document).ready()
, я не мог получить доступ к моему пространству имен CkSpace
, если я не объявил его в $(document).ready()
.
Может ли кто-нибудь объяснить мне проблему с областью действия здесь и есть ли способ избежать ее объявления внутри моей функции $(document).ready()
?
РЕДАКТИРОВАТЬ: кажется, я был немного забывчивым, и я не ставил перед CkSpace префикс window при доступе к нему в рамках $(document).ready()