【发布时间】:2015-05-15 11:59:51
【问题描述】:
我在变量范围方面遇到了一些问题。如果我们在一个 js 文件中定义,我们如何在另一个 js 文件中使用(这里我的意思是说如果我们想在整个应用程序中使用一个变量)?我们能做到吗?
示例:在我们的 IE(IE-8 和更低版本的 IE)中,我们面临节点类型的问题。我们在这么多 javascript 文件中使用常量示例:Node.ELEMENT_NODE 这给少数浏览器带来了问题(“节点”未定义) 我们必须在所有文件中用“1”替换这个常量。我们可以在我们的起始 html 文件中用
定义,而不是在所有地方替换它(这么多文件)下面的示例在我们的起始 html 文件(即 index.html)中,我们可以在任何其他 javascript 文件中使用 Node.ELEMENT_NODE 吗?它是否会影响我们使用 Node.ELEMENT_NODE 的所有其他 javascript 文件:
<script type="text/javascript">
if (!window.Node){
Node = {
ELEMENT_NODE : 1,
ATTRIBUTE_NODE : 2,
TEXT_NODE : 3,
CDATA_SECTION_NODE : 4,
ENTITY_REFERENCE_NODE : 5,
ENTITY_NODE : 6,
PROCESSING_INSTRUCTION_NODE : 7,
COMMENT_NODE : 8,
DOCUMENT_NODE : 9,
DOCUMENT_TYPE_NODE : 10,
DOCUMENT_FRAGMENT_NODE : 11,
NOTATION_NODE : 12
};
}
【问题讨论】:
-
如果你尝试你的建议,它会产生错误吗?
-
它仅在该文件(例如 index.html)中工作。如果我在另一个文件(another.js)中使用相同的变量,则不会应用此值。我收到错误,因为“节点”未定义。只想在一个文件中声明并希望在所有文件中使用。
标签: javascript html internet-explorer scope global-variables