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. 如何從全局範圍調用jQuery範圍內的函數?
- 4. Java中的對象範圍內的對象範圍
- 5. 爲什麼我應該使用塊範圍而不是函數範圍?
- 6. 範圍函數調用angularjs
- 7. Javascript函數調用範圍
- 8. 對象內可變範圍
- 9. 當不在對象範圍內的靜態函數使用$此
- 10. Oop中的對象範圍是什麼?
- 11. 這個對象的範圍是什麼
- 12. JavaScript範圍和角度js範圍有什麼不同
- 13. JavaScript對象是函數的範圍
- 14. 範圍(10)中的[[範圍(10)]範圍內的[[0]]和範圍[10範圍內的範圍10中的[0]之間的區別是什麼?
- 15. 孩子範圍到家長範圍不同的孩子範圍
- 16. Javascript回調函數範圍?
- 17. 爲什麼[範圍(10)]和列表(範圍(10))不一樣?
- 18. python函數的範圍是什麼?
- 19. 對象內部對象的範圍在對象內的函數內
- 20. 範圍的遞歸函數(從範圍-v3)導致編譯分歧:爲什麼?
- 21. JavaScript對象屬性不在範圍內
- 22. 從範圍(對象)
- 23. Java Script簡單函數調用(函數不在範圍內)
- 24. 爲什麼我的HelloWorld函數未在此範圍內聲明?
- 25. 範圍不與其他範圍
- 26. 爲什麼PDF_begin_page_ext:功能不能被稱爲「對象」範圍
- 27. 爲什麼超出範圍?
- 28. 兒童範圍內的行爲bindToController與隔離範圍
- 29. 對象_worksheet的方法範圍失敗,命名範圍爲
- 30. 函數內聲明函數的範圍
嘛,乾脆不要做'Person.call(窗口,...)'。這將嘗試設置'window.name'。不,這與範圍無關 - 如果您引用'this'關鍵字,那就是調用的* context *或* receiver *。 – Bergi