【问题标题】:Javascript External Object Global? [duplicate]Javascript外部对象全局? [复制]
【发布时间】:2015-02-09 21:40:29
【问题描述】:

我在搞乱对象和方法,我有一个非常简单的示例用于测试:

var shout = {
  hello: function(variable){
    console.log("Hello " + variable);
  }
};

shout.hello("World");

这很好用。但是,如果我将对象 shout 放在外部文件中,然后运行 ​​shout.hello("world"); 我什么也得不到:

//external file: test.js
var shout = {
  hello: function(variable){
    console.log("Hello " + variable);
  }
};

<!-- my html document -->
<script src="test.js">
shout.hello("World");
</script>

我做错了什么?

【问题讨论】:

    标签: javascript object scope


    【解决方案1】:

    来自MDN

    具有指定src 属性的script 元素不应在其标签中嵌入脚本。

    你需要两个独立的script标签,一个用来导入你的外部脚本,另一个用来调用函数,例如:

    <script src="test.js"></script>
    <script>
    shout.hello("World");
    </script>
    

    【讨论】:

      【解决方案2】:

      您需要两个单独的script 标签,带有src attribute 的标签的内容将被忽略。

      <script src="test.js"></script>
      <script>
          shout.hello("World");
      </script>
      

      【讨论】:

      • 我会接受这个答案,因为它是第一个,并且有效。不过,您能解释一下原因吗?编辑:明白了!我不知道这个:)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-14
      • 2012-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-22
      相关资源
      最近更新 更多