【发布时间】:2025-12-07 06:15:02
【问题描述】:
我的 JavaScript 不是很好。所以当我现在看到一段代码时,很多地方都不清楚。所以请有人帮我理解。
我知道人们在下面声明他们的模块的方式
var Module = (function () {
var privateMethod = function () {
//A Private Method
var privatemember; // scope is only private method
};
return {
publicMethod: function () {
//you can call private method here.
}
};
})();
Module.publicMethod(); //works
刚刚我看到了另一个模块模式的不同代码,如下所示,其中使用了 knockout.js。
var HMS = HMS || {};
$(function () {
HMS.PatientModel = function () {
this.Patient_Name = ko.observable();
this.Patient_Address = ko.observable();
};
HMS.PatientViewModel = function () {
var patient = ko.observable(),
loadPatient = function () {
var newModel = new HMS.PatientModel();
newModel.Patient_Name("Premkumar");
patient(newModel);
};
return {
patient: patient,
loadPatient: loadPatient
};
} ();
HMS.PatientViewModel.loadPatient();
ko.applyBindings(HMS.PatientViewModel);
});
1) 这个代码var HMS = HMS || {}; 是什么?
2) 看到这个$(function () {}) ();
为什么模块没有特定的名称。查看我的第一个代码,我以这种方式为模块命名var Module = (function () {}) ()
3) 在模块代码中,每个函数名都以HMS开头............为什么喜欢HMS.PatientModel = function () { };
请帮助我理解第二组代码点。谢谢
【问题讨论】:
-
古玩要问多个问题,但您是否分别研究过?
-
我不是高级 js 开发者。所以我在这里突出显示的代码让我感到困惑。所以我问并寻求一些帮助。谢谢
-
我会给你一个快速的答案。如果您对研究感兴趣。
-
你熟悉JS逻辑值
truthy和falsey吗?你知道 JS 变量是如何作用域的,closures是什么吗? -
如果可能的话,将我重定向到正确的文章,从那里我可以获得关于作用域和闭包的 JS 变量的知识。谢谢
标签: javascript