在javascript中,所有函数都是对象。那么如何当我使用'this'这样的:javascript中的'this'的范围不一致
var myObj = function() {
doSomething: function() {
alert('msg');
}
myFunc2: function() {
this.doSomething(); //'this' doesn't equal myFunc2, it's myObj
}
}
'this'是指myObj而不是myFunc2? Javascript有函数范围,'this'在myFunc2中使用,所以它应该引用myFunc2。
为什么不是这样?这种语言有时看起来非常不一致。
https://github.com/getify/You-Dont -Know-JS/blob/master/this%20&%20object%20prototypes/README.md – Michelangelo
您的代码没有多大意义。你有一个带有两个嵌套函数的函数,但是没有任何函数调用它们。 – Pointy
这甚至不是有效的JavaScript?你的意思是说我的Obj是一个对象而不是一个函数? –