Javascript外部对象全局?

时间:2015-02-09 21:40:30

标签: javascript object scope

我搞乱了对象和方法,我有一个非常简单的例子,我用它来测试:



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>
&#13;
&#13;
&#13;

我做错了什么?

2 个答案:

答案 0 :(得分:3)

来自MDN

  指定了script属性的

src元素不应在其标记中嵌入脚本。

您需要两个单独的script标记,一个用于导入外部脚本,另一个用于调用该函数,例如:

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

答案 1 :(得分:2)

您需要两个单独的script代码,而忽略src attribute代码的内容。

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