<script>
this.document = "xxxx"; // why it doesn't make sense?
console.log(document); // still show document obj in devtools
</script>
我想也許這是被javascript引擎禁止的。爲什麼將其他對象指定給內建對象(如文檔,窗口)沒有意義?
<script>
this.document = "xxxx"; // why it doesn't make sense?
console.log(document); // still show document obj in devtools
</script>
我想也許這是被javascript引擎禁止的。爲什麼將其他對象指定給內建對象(如文檔,窗口)沒有意義?
window.document
不是可寫屬性。如果你想叫一個局部變量document
你可以這樣做:
(function(){
var document = 'xxxx';
console.log(document);
})();
和:
new function(){
this.document = 'xxxx';
console.log(this.document);
};
雙方將登錄 'XXXX'
有時是有道理的 - 和允許,例如,您可以重新分配內在功能window.alert
。
但是,在99%的情況下,您最好單獨留下它。
重新分配內置的ins會產生不可移植的行爲。
庫A很大程度上依賴於document.getElementById。庫B依賴於它自己的定製版本,但用它自己的定製版本替換了文檔原型上的getElementById。圖書館休息。
因此,設計爲與所有瀏覽器配合使用並針對所有瀏覽器進行測試的庫A將不起作用。
它和全局變量一樣。內置插件基本上是全局變量。