Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
254 views
in Technique[技术] by (71.8m points)

document.write插入的js文件,为什么里面的方法都用不了

 var list = ['language.js','formCommon.js','approve.js'];
 for(var i=0;i<list.length;i++){
     document.write('<script type="text/javascript" src="script/'+list[i] + '?v=' + ver +'">' + '</sc' + 'ript>');
 }
 
 //getData方法来自approve.js,为什么拿不到
 const params = getData()

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

js代码是即时执行的,dom渲染相比js执行还是慢很多,简而言之就是你的js还没插入到页面上就去调用了getData,可以试下延迟一秒后再去调用,就可以验证了

var list = ['language.js','formCommon.js','approve.js'];
for(var i=0;i<list.length;i++){
 document.write('<script type="text/javascript" src="script/'+list[i] + '?v=' + ver +'">' + '</sc' + 'ript>');
}

setTimeout(() => {
  const params = getData()
}, 1000);

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
...