Google Chrome中的JavaScript变量范围

时间:2014-11-07 21:14:08

标签: javascript google-chrome

我已获得以下代码:

<!DOCTYPE html>
<html>

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled 1</title>
</head>

<body>

<p id="p"></p>

<script>

var top = 9;
( function () {  top += 1;  document.getElementById( "p" ).innerHTML = top;  } )()

</script>

</body>

</html>

在Internet Explorer(打印10)中工作正常,但在Google Chrome中打印[对象窗口]。 但如果我改变它:

( function () {  var top = 9; top += 1; document.getElementById( "p" ).innerHTML = top; } )()

它也适用于Chrome。唯一的变化是变量现在是本地的。这是否意味着在Chrome中我无法访问全局变量?无论我做什么,我都无法获得正确的结果。

1 个答案:

答案 0 :(得分:2)

更改变量名称,因为它与Window.top全局对象冲突。请参阅MDN doc页