你理解错了吧? getJiale.model.CategoryModel这个恐怕不是方法名,只有CategoryModel是前面的可以看作命名空间举例: var getJiale=new Object(); getJiale.model=new Object(); getJiale.model.CategoryModel=function(){alert(1);}或者用json方式创建: var getJiale={model:{CategoryModel:function(){alert(1);}}}
objec['getJiale.model.CategoryModel'可以访问
我疑惑的是你这个是怎么建立这个方法的
怎么建立 怎么访问呗
小弟才疏学浅,希望能学到东西。
准确来说你调用的是 getJiale.model 对象下的 CategoryModel 方法,而不是getJiale.model.CategoryModel 方法。
疯了...
getJiale.model.CategoryModel
你确定这个算方法名么?
好吧,你可以这么理解
var getJiale=new Object();
getJiale.model=new Object();
getJiale.model.CategoryModel=function(){}
这个record.getJiale.model.CategoryModel()中的getJiale.model.CategoryModel()为一个getter,肯定是一个整体,我也贴出了调试截图,如果是按你所说的话截图中应该会给出对象的引用层次。
getJiale.model.CategoryModel这个恐怕不是方法名,只有CategoryModel是前面的可以看作命名空间举例:
var getJiale=new Object();
getJiale.model=new Object();
getJiale.model.CategoryModel=function(){alert(1);}或者用json方式创建:
var getJiale={model:{CategoryModel:function(){alert(1);}}}
嗯哈,请问我该如何调用呢,alert(record.getJiale.model.CategoryModel()); 会报错的。
FF的话,就在脚本--监控--窗口 看看是不是有record为顶节点的吧。如果没有,看看它在哪个节点下面
a : ""
, getJiale.model.CategoryModel : function(){
}
};这么定义,浏览器直接报错的
你贴出来的图看起来就是一个json的定义不过这个图应该是工具跟踪的结果吧?你自己去搜下生成的js代码,如果是一个整体的话,应该是类似这样的定义var record={
a : ""
, "getJiale.model.CategoryModel" : function(){}//注意这里的引号
};你直接ctrl + f搜索getJiale.model.CategoryModel,如果是一个整体,那么你应该能在js里面直接搜出来
this[getName] = optimizedGetter;
看了下源代码,应该是这么实现的。
调用的时候也可以 obj['something.something.some'](parms);