为什么将其他对象分配给内置对象(例如文档、窗口)没有意义
Why it doesn't make sense to assign other object to builtin objects, such as document, window?
<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 会产生不可移植的行为。
Library A 严重依赖 document.getElementById。 库 B 依赖于自己的自定义版本,但将文档原型上的 getElementById 替换为自己的自定义版本。 库 A 中断。
因此,库 A(旨在与所有浏览器配合使用并针对所有浏览器进行测试(将不起作用。
这与全局变量的参数相同。 内置基本上是全局变量。
相关文章:
- 枚举附加到文档的HTML对象的所有事件
- 如何将文档对象创建为HTML页面
- javascript对象与阅读文档——初学者查询效率
- MongoDB findAndModify:>>>查找和更新文档数组中的对象
- 将文档对象传递给函数
- 如何使用猫鼬将常规 JSON 对象转换为 Mongo 文档
- 从 JSON 对象数组中获取与条件匹配的文档
- findAndModify,如何对文档进行操作's数组搜索对象并更改字段值
- ajax响应JavaScript中的文档对象
- 如何在JQUERY中从HTML文档中获取XML对象
- XUL文档与HTML文档对象有何不同
- 使用JavaScript将自定义对象添加到文档中
- 查找包含子对象MongoDb和Node.js的特定字段的文档
- 我可以在不使用XMLHttpRequest或文档对象的情况下使用Javascript来获取网页吗
- 为什么广播在文档中被描述为标志,而它实际上是一个对象
- 在MongoDB和Node.js中查找某个字段具有与对象完全相同元素的文档
- 带有<对象>的jQuery对话框无法从对象文档中调用对话框('close')
- 在Phonegap中加载[对象文档]的AJAX成功数据
- AJAX响应带有未定义/对象文档
- 如何是DOM对象文档.Cookie属性已建立