Google Chrome中的JavaScript变量范围
JavaScript variable scope in 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中我无法访问全局变量?无论我做什么,我都不能得到正确的结果。。
更改变量名,因为它与Window.top
全局对象冲突。请参阅MDN文档页面
相关文章:
- js命名空间和变量范围
- 如何确保变量范围在这个循环中得到维护
- 在两个浏览器选项卡之间共享变量范围
- 文件API中的Javascript变量范围
- javascript和jQuery的嵌套对象函数中的变量范围
- JavaScript 函数变量范围问题
- JavaScript 中变量范围的问题
- Javascript - 揭示对象和变量范围
- 主干.js(具有 Require.js)变量/范围访问问题
- Javascript 变量范围未定义
- 如何绕过javascript变量范围
- IE 8变量范围错误
- 了解 Javascript 变量范围
- 控制变量范围
- 函数之间的Javascript变量范围问题
- 这种减少if语句中声明的变量范围的模式是一种好的做法吗
- 用于未初始化的局部变量的javascript变量范围
- 变量范围
- 请求节点模块变量范围
- Javascript 和 JQuery dom 全局变量范围