未捕获的ReferenceError: {var}未定义.文件是单独创建的



为什么我得到Uncaught ReferenceError: i is not defined在我的javascript文件?

我是这样做的。

app.js

$(function() {
  var i = 1;
});

some.js

$(function() {
  alert(i);
});

,这是我如何排序我的文件。

// included jquery here
<script src="/app.js" type="javascript/text"></script>
<script src="/some.js" type="javascript/text"></script>

我如何执行或访问变量从app.js或其他javascript文件?我觉得应该按顺序列出来。我哪里做错了?任何帮助都将非常感激。由于

问题是您在本地范围内定义i

你应该这样试试

<script type="text/javascript">
  var i = 1; //i in a global scope.
</script>
<script>
  alert(i);
</script>

如果您将在某处再次定义i,则可能存在冲突。因此,有一种更好的方法来定义命名空间,以避免像下面这样的冲突。

<script type="text/javascript">
  var firstScript = {}; //this will be namespace for first script
  firstScript.i = 1;
</script>
<script>
  alert(firstScript.i);
</script>

最新更新