0
A
回答
1
全球window
對象已經有name
一個屬性,它的原生代碼的範圍內。
0
window.name
是吸氣/設置器設置窗口的名稱。因此,它必須是string
。
試試這個:
你會看到,現在window.name
設置爲"something,else"
;這是Array.toString()
的結果。
這正是這裏發生的情況。當您撥打object
的toString
時,會得到[object Object]
。
如果您不使用預定義的window.name
getter/setter,則您的程序可以正常工作。
function Person(first, last) {
this.something = {
first,
last
};
}
f = {};
Person.call(f, "fsd", "fsd");
console.log(f.something);
g = window;
Person.call(g, "fsd", "fsd");
console.log(g.something);
更多的getter/setter方法在javascript:
二傳手:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/set
吸氣劑:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/get
相關問題
- 1. 爲什麼跨範圍與指令範圍不同步?
- 2. PDO對象不在函數範圍內
- 3. 正確的範圍引用窗口對象內的對象
- 4. 析構函數內的對象範圍
- 5. 如何從全局範圍調用jQuery範圍內的函數?
- 6. 對象範圍內的調用變量
- 7. Java中的對象範圍內的對象範圍
- 8. 爲什麼我應該使用塊範圍而不是函數範圍?
- 9. 爲什麼不串範圍
- 10. Javascript函數調用範圍
- 11. 範圍函數調用angularjs
- 12. 爲什麼變量不在範圍內?
- 13. 爲什麼匿名函數會丟失對象範圍?
- 14. 對象構造函數調用未聲明在此範圍內
- 15. 更新範圍內對象
- 16. 對象內可變範圍
- 17. 這個對象的範圍是什麼
- 18. Oop中的對象範圍是什麼?
- 19. 當不在對象範圍內的靜態函數使用$此
- 20. 與條件對象範圍
- 21. JavaScript範圍和角度js範圍有什麼不同
- 22. 測試範圍在JavaScript中的函數的範圍內的虛擬範圍
- 23. JavaScript對象是函數的範圍
- 24. 範圍(10)中的[[範圍(10)]範圍內的[[0]]和範圍[10範圍內的範圍10中的[0]之間的區別是什麼?
- 25. 爲什麼基於範圍的語句採用auto &&的範圍?
- 26. 爲什麼是同時的,而範圍
- 27. 對象_global的方法範圍在命名範圍內失敗
- 28. 從另一個範圍遍歷範圍內的對象?
- 29. 孩子範圍到家長範圍不同的孩子範圍
- 30. Javascript回調函數範圍?
嘛,乾脆不要做'Person.call(窗口,...)'。這將嘗試設置'window.name'。不,這與範圍無關 - 如果您引用'this'關鍵字,那就是調用的* context *或* receiver *。 – Bergi