代码是这样的
var ob = {
a: function() {
b()
},
b: function() {
console.log("hi")
}
};
如您所见,您不能这样做
ob.a() //returns error
谁能详细解释一下原因吗?
最佳答案
因为 b
在当前作用域中不存在(在本例中是全局作用域)。
但是,这有效:
var ob = {
a: function () {
this.b()
},
b: function () {
console.log('hi')
}
};
因为this
引用了ob
对象。
关于javascript - 创建 js 对象时,为什么不能在另一个定义的函数中使用一个定义的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31891578/