我有一個關於Javascript函數內部屬性訪問的非常簡單的問題。應該是有史以來最簡單的事情,但我不能明白爲什麼這不起作用:在JavaScript中調用函數的屬性
我有一個對象:
var myObj = {
first: "First text",
second: "Second text",
third: "Third text"
};
我要撥打的第一個屬性:
console.log(myObj.first); // First text
一切還好。但我想打電話從一個函數這個屬性,也與新值"Fourth text"
分配一個新的屬性"Fourth"
:
function myFunction(myObj){
console.log(this.first); // [object Object] undefined
this.fourth = "Fourth text";
}
myFunction(myObj);
console.log(myObj.fourth); // undefined
正如你所看到的,最後兩個調用導致不確定的。我不明白爲什麼!任何幫助將非常感謝:)
是的,我忘了該函數不與對象有關,我應該與它。但是我還有一個問題:我在Google Chrome控制檯中的結果與您的不同。例如,如果我運行任何解決方案,我會得到'undefined undefined'和'undefined' ... – Nikita
請注意。您在Chrome中寫入的內容有誤。再看看你的代碼,它不能被定義爲 –
是的,問題是我有幾個地方定義了myFunction。它在某種程度上與某些東西混合在一起;解決方案是爲函數賦一個變量:'var myFunction = function(){...}' – Nikita