Mod*_*ner 3 javascript variables dom document object
我想知道我是否可以添加到Javascript的document对象.喜欢:
var document = {
name: "My Name"
}
Run Code Online (Sandbox Code Playgroud)
我是JavaScript的新手,任何帮助将不胜感激.
编辑:
在评论中进行了一些对话并稍微考虑一下之后,我真的想知道我是否可以操作document变量并仍然可以document正常使用.
jAn*_*ndy 16
document只是global/ windowobject的另一个属性.如果在范围内将其声明为形式参数或变量,则查找过程将首先在您声明它的范围内匹配该名称,因此它有点重叠.
无论如何,你不想这样做,为什么?对于您和正在查看代码的任何其他人来说,它会让您感到困惑.这是非常糟糕的做法.
其实,这就是为什么的原因最 "先进"的javascript代码段/库与合拢开始功能范围像
(function( window, document, undefined ) {
// window will always reference the "window" object that got originally passed in
// document will always reference the "document" object that got originally passed in
// undefined will always reference the "undefined value" that got originally passed in
}( window, window.document ));
Run Code Online (Sandbox Code Playgroud)
..只是为了避免,这种混合效应.如果这样的闭包是在文件的最顶部开放的,那么它确保你引用其中的原始对象,以防一些天才有一个好主意覆盖/重叠它们.
结论:你当然可以自由选择自己的意愿变量的名字,但你真的不应该使用这样显赫的姓氏的名称等
window,document,undefined等等原因显而易见.
你说你在做什么 - 添加到document对象 - 不是你的代码实际在做什么。
你正在做的是重新定义 document. 如果要添加到其中,请使用以下命令:
document.name = "My Name"
Run Code Online (Sandbox Code Playgroud)
这样您仍然可以使用document. 但是,这通常仍然是不好的做法 - 您可以使用不同的对象而不是文档:
myObject = {name:"My Name"};
Run Code Online (Sandbox Code Playgroud)
然后myObject仍然是全球性的。修改document对象可能会产生不幸的副作用。
| 归档时间: |
|
| 查看次数: |
3803 次 |
| 最近记录: |