我正在測試一個非常簡單的代碼,並期望得到錯誤,但我得到了一個由控制檯返回的字符串「result」!JavaScript返回「結果」而不是錯誤或異常
下面是代碼:
var person = { name: "Mohammad", last_name: "Kermani"};
var show_person = function (age){
console.log(this.name +" is "+ age + " years old");
}
現在,你現在不能用this.name
JavaScript時不知道什麼this
(對象),那麼我們就需要使用call
或apply
。
現在,當我寫這個,我得到了「結果」的字符串(而不是錯誤或者警告):
show_person(20); //Returns: result is 20 years old
見Jsfiddle什麼控制檯的回報。
與call
的代碼應該是這樣的:
show_person.call(person, 20); //Returns: Mohammad is 20 years old
什麼是字符串「結果」和爲什麼要使用JavaScript時,它不必this.name
訪問不返回錯誤?
如果我們不在函數中使用某個對象並想要獲得它的某個屬性會發生什麼?(喜歡這裏,我希望得到的人對象的名稱)
可能出現[This「關鍵字的工作方式?](http://stackoverflow.com/questions/3127429/how-does-the-this-keyword-work) – Andreas
表達式'show_person (20); '在鉻是20歲。 – viveksinghggits