比如:
alert(record.getJiale.model.CategoryModel());
其中getJiale.model.CategoryModel整个为方法名。
纠结了,求教,感激不尽。

解决方案 »

  1.   

    1L说的对 自找的
    objec['getJiale.model.CategoryModel'可以访问
    我疑惑的是你这个是怎么建立这个方法的
    怎么建立 怎么访问呗
      

  2.   

    首先感谢你能回答我,这个方法是Extjs通过Model的hasone关系自动生成的,既然可以生成应该是可以调用的吧。
    小弟才疏学浅,希望能学到东西。
      

  3.   

    js命名规则不能用点,你那个是因为getJiale.model本身就是一个object,
    准确来说你调用的是 getJiale.model 对象下的 CategoryModel 方法,而不是getJiale.model.CategoryModel 方法。
      

  4.   

    啊!!!!!!!!!
    疯了...
    getJiale.model.CategoryModel
    你确定这个算方法名么?
    好吧,你可以这么理解
    var getJiale=new Object();
    getJiale.model=new Object();
    getJiale.model.CategoryModel=function(){}
      

  5.   


    这个record.getJiale.model.CategoryModel()中的getJiale.model.CategoryModel()为一个getter,肯定是一个整体,我也贴出了调试截图,如果是按你所说的话截图中应该会给出对象的引用层次。
      

  6.   

    二楼正解,record['getJiale.model.CategoryModel']() 可以通过这种方式调用。
      

  7.   

    呃,那个怎么可能是一个整体呢。必然是和6楼朋友说的一样的形式进行创建的。要么就是依次有层级下来的,就和树一样。要么就类似于YUI命名空间的注册方法一样,注册一个命名空间,命名空间中不存在的话就建立空对象
      

  8.   

    你理解错了吧?
    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);}}}
      

  9.   


    嗯哈,请问我该如何调用呢,alert(record.getJiale.model.CategoryModel()); 会报错的。
      

  10.   

    以IE浏览器为例,你可以打开开发者工具,然后在alert(record.getJiale.model.CategoryModel());处设一个断点,再去看看脚本-局部变量
    FF的话,就在脚本--监控--窗口 看看是不是有record为顶节点的吧。如果没有,看看它在哪个节点下面
      

  11.   

    你在什么工具里看的?var record={
    a : ""
    , getJiale.model.CategoryModel : function(){

    }
    };这么定义,浏览器直接报错的
    你贴出来的图看起来就是一个json的定义不过这个图应该是工具跟踪的结果吧?你自己去搜下生成的js代码,如果是一个整体的话,应该是类似这样的定义var record={
    a : ""
    , "getJiale.model.CategoryModel" : function(){}//注意这里的引号

    };你直接ctrl + f搜索getJiale.model.CategoryModel,如果是一个整体,那么你应该能在js里面直接搜出来
      

  12.   


    this[getName] = optimizedGetter;
    看了下源代码,应该是这么实现的。
    调用的时候也可以 obj['something.something.some'](parms);