在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是一個對象而不是一個函數? –