Javascript - 为什么我无法访问我的全局变量

时间:2015-10-27 21:01:09

标签: javascript scope global-variables

我试图理解为什么我写的一段代码不起作用。 (仅供参考,这是一个班级,但我已经成功完成了项目,现在我只是想了解为什么有些东西不起作用。)

我需要多次生成图片,然后将所有图片附加到div。

这是HTML。



<body>
  <div id="leftSide"></div>
  <div id="rightSide"></div>
</body>
&#13;
&#13;
&#13;

这是Javascript。

&#13;
&#13;
<script>
  var theLeftSide = document.getElementById("leftSide");
  var myVariable = 5;

  function myFunction() {
    for (var i = 0; i < myVariable; i++) {
      var x = document.createElement("img");
      x.setAttribute("src", "myFile.png");
      x.style.top = Math.floor(Math.random() * 400) + "px";
      x.style.left = Math.floor(Math.random() * 400) + "px";
      theLeftSide.appendChild(x);
    }
  }
</script>
&#13;
&#13;
&#13;

当我运行代码时,我收到一条控制台消息,指出&#34;无法读取属性&quot; appendChild&#39; of null&#34;。当我在函数内移动var theLeftSide时,它按预期工作。

我是JavaScript的新手,但我认为使用var name = value在函数外声明的变量;语法会被认为是全局的,因此可以在函数内部访问吗?

我确定我错过了一些东西,但我不知道是什么。

谢谢!

0 个答案:

没有答案