为什么我不能这样做?
var MyObject = {}
MyObject.foo = function(){
this.sayhello = function(){
alert('Hello');
}
}
MyObject.foo.sayhello();
关于如何做到这一点的任何想法?
最佳答案
在 foo
中, this
引用 MyObject
,这意味着之后:
MyObject.foo();
你可以打电话:
MyObject.sayhello();
如果您希望能够调用
MyObject.foo.sayhello()
,则需要 sayhello
成为 MyObject.foo
上的函数:var MyObject = {}
MyObject.foo = function () {...};
MyObject.foo.sayhello = function () {
alert('hello');
}
如果您不需要
foo
也是一个函数,您可以简单地声明:var MyObject = {
foo: {
sayhello: function () {
alert('Hello');
}
}
}
这将允许您调用:
MyObject.foo.sayhello();
关于Javascript 对象方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14736447/