HTML <script>

时间:2017-06-27 09:10:05

标签: javascript onload referenceerror

我知道这个问题已经在这里得到了解决,但该解决方法不起作用在我的情况下。

&#xA;&#xA;

我在外部JavaScript中有一个函数,我想在页面加载后立即调用它。这是要执行的外部代码中的代码段

&#xA;&#xA;
  var user_id =“”;&#xA; var obj = obj || {};&#xA;&#xA; obj.Id = {&#xA; assignId:function(id){&#xA;的console.log(ID);&#XA; user_id = id;&#xA; window.alert(“ID no:”+ user_id);&#xA; return user_id;&#xA; }&#xA;}&#xA;  
&#xA;&#xA;

这是HTML

&#xA;&#xA;
 < code>&lt; script&gt;&#xA; obj.Id.assignId(“a string”);&#xA;&lt; / script&gt;&#xA;  
&#xA;&#xA ;

我也试过这种方式

&#xA;&#xA;
 &lt; script&gt;&#xA; window.onload = function(){obj.Id.assignId(“字符串“);}&#xA;&lt; / script&gt;&#xA;  
&#xA;&#xA;

window.onload 是之后在外部文件中调用,所以我认为它已被覆盖,如此问题。 &#xA;以下是我在以前的两种情况下从控制台获得的内容:

&#xA;&#xA;
 未捕获的ReferenceError:obj未定义&#xA;  < / pre>&#xA;&#xA; 

使用这种方式时:

&#xA;&#xA;
  window.onload = function(){&#xA; obj.Id.assignId( “UA-0001”);&#XA;  
&#XA;&#XA;

}

&#XA;&#XA; < p>我没有收到任何错误但是函数没有被触发。

&#xA;&#xA;

我无法弄清楚的是:如果直接提示 / em>在控制台 obj 中我得到 Object {Id:Object} ,如果提示 obj.Id.assignId(“a string”)我得到了我想要的东西。

&#xA;&#xA;

对此有任何解释吗?

&#xA;

0 个答案:

没有答案