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


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


 var user_id =“”;
 var obj = obj || {};

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



 这是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;以下是我在以前的两种情况下从控制台获得的内容:
未捕获的ReferenceError:obj未定义&#xA;
< / pre>&#xA;&#xA;使用这种方式时:
&#xA;&#xA;&#XA;&#XA;window.onload = function(){&#xA; obj.Id.assignId( “UA-0001”);&#XA; 代码>
}
&#XA;&#XA; < p>我没有收到任何错误但是函数没有被触发。&#xA;&#xA;我无法弄清楚的是:如果直接提示 / em>在控制台
&#xA;&#xA;obj
中我得到Object {Id:Object}
,如果提示obj.Id.assignId(“a string”)
我得到了我想要的东西。对此有任何解释吗?
&#xA;