对象内的函数

时间:2012-04-30 04:02:13

标签: javascript object

我知道标题含糊不清但我不知道该写些什么 在javascript中,我知道如何编写将被调用的函数:

argument1.function(argument2);

这是小提示演示:http://jsfiddle.net/rFXhf/
现在我想知道我能否做到:

argument1.argument2.function(argument3);//And even more!

2 个答案:

答案 0 :(得分:25)

你需要像这样定义对象:

var argument1 = {
    myvar : "12",
    mymethod : function(test) { return something; }
}

然后调用mymethod:

argument1.mymethod(parameter);

或更深层次的版本:

var argument1 = {
    argument2 : {
       mymethod : function(test) { return something; }
    }
} 

然后:

argument1.argument2.mymethod(parameter);

答案 1 :(得分:13)

现代ES6方法

在对象内定义函数时,不再需要指定function关键字:

var myObj = {
  myMethod(params) {
    // ...do something here
  }
  myOtherMethod(params) {
    // ...do something here
  }
  nestedObj: {
    myNestedMethod(params) {
      // ...do somethinghere
    }
  }
};

等效,除了重复和冗长:

var myObj = {
  myMethod: function myMethod(params) {
    // ...do something here
  }
  myOtherMethod: function myOtherMethod(params) {
    // ...do something here
  }
  nestedObj: {
    myNestedMethod: function myNestedMethod(params) {
      // ...do somethinghere
    }
  }
};