我学习JavaScript和模块模式,但我在我的代码犯了一个错误,它不对证明一些我虽然是真实的关于这个模式的概念。我的基本代码是这样的: (function(window,$){
//global menu object
var menu = (function(){
//menu tab component
var tab = (function(){
我最近重构了我的javascript/jquery应用程序代码以使用模块模式。 我有两个模块,可以说,A和B. 模块B包含使一个jQuery AJAX JSONP呼叫($。AJAX),并传递在回调的响应的公共方法(比如说,Bmethod)。 模块A内部有一个调用B.Bmethod()的回调函数来处理返回的响应。 这里是模块B的定义: var B = (function()
{
var
我可以定义如下 var myClass = function(){
var private_field1,private_field_2;
var private_func1 = function(){
//.......
}
//.........
var myObj = {
global_field1:2,
有人可以解释为什么私有变量_a没有使用setter进行更新?我一定错过了一些非常明显的东西,但看不到它。 var f = function(a){
var _a = a;
return {
getA : _a,
setA : function(e){
_a = e;
}
}
};
var d = f(1)