5

我经常使用“父”这个词作为 JavaScript 变量名,从来没有遇到过任何问题。

我最近了解到“父级”可以引用其他内容,例如用于访问 IFrame 父级中的元素时,例如parent.document.getElementById("someID").

我应该停止使用“父”这个词作为 JavaScript 变量名,而是通过所有现有的脚本来更改它吗?请注意http://msdn.microsoft.com/en-us/library/ie/0779sbks%28v=vs.94%29.aspxhttps://developer.mozilla.org/en-US/docs/Web/ JavaScript/Reference/Reserved_Words并不表示我不应该这样做。

4

3 回答 3

10

'parent' 不是保留字,而是浏览器执行环境中的全局对象。您是否想要一个与之冲突的变量名是您的决定。

作为参考,这里是 JS 中的实际保留字列表: https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Reserved_Words

于 2013-10-10T13:56:31.347 回答
6

如果调用你的变量是有意义的,parent那么继续命名它,你只需要注意它会隐藏对象的parent属性window(全局范围),但这不是问题,因为你可以显式引用它使用window.parent而不是仅仅parent在你需要使用它的地方。

唯一应该成为问题的情况是,如果存在与您的parent变量共享范围的代码,该代码试图在window.parent没有明确指定他们想要该属性的情况下进行访问,这可能表明代码需要调整。

于 2013-10-10T13:59:36.510 回答
4

“JavaScript”与“执行 JavaScript 的生态系统”不同。

浏览器具有windowdocument引用,它们具有属性......比如parent. 您仍然可以引用全局父级。如果您的父母在不同的对象上被调用,则无论如何都不会发生冲突。

于 2013-10-10T13:57:45.643 回答