博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript importScripts 之实现和用法
阅读量:2430 次
发布时间:2019-05-10

本文共 1326 字,大约阅读时间需要 4 分钟。

importScripts用于在一个js里面包含其他的js文件。相当于C里面的#include。利用importScripts这个强大的利器,我们就可以像C/C++/Java一样写js了。比如我们用js写了几个文件A.js,B.js,C.js,它们分别位于不同的路径下面。当我们在D.js中需要引入上面3个js文件的时候,就需要importScripts这个强大的利器了:

// D.js:

importScripts("script/A.js", "B.js", "http://helooooooo/C.js");

或者:

importScripts("script/A.js");

importScripts("B.js");

importScripts("http://helooooooo/C.js");

在未使用importScripts的时候我通常是这样引入js代码的:

function includeScript(file) {

  document.write('<script type="text/javascript" src="'+file+'"></script>');
}

includeScript("script/A.js");

includeScript("B.js");

includeScript("http://helooooooo/C.js");

好了,下面是importScripts 的完整的js代码:

cheungmine 2011-11

[html] 
  1. if(!importScripts){  
  2. var importScripts=(function(globalEval){  
  3. var xhr=new XMLHttpRequest;  
  4. return function importScripts(){  
  5. var  
  6. args=Array.prototype.slice.call(arguments)  
  7. ,len=args.length  
  8. ,i=0  
  9. ,meta  
  10. ,data  
  11. ,content  
  12. ;  
  13. for(;i<len;i++){  
  14. if(args[i].substr(0,5).toLowerCase()==="data:"){  
  15. data=args[i];  
  16. content=data.indexOf(",");  
  17. meta=data.substr(5,content).toLowerCase();  
  18. data=decodeURIComponent(data.substr(content+1));  
  19. if(/;\s*base64\s*[;,]/.test(meta)){  
  20. data=atob(data);  
  21. }  
  22. if(/;\s*charset=[uU][tT][fF]-?8\s*[;,]/.test(meta)){  
  23. data=decodeURIComponent(escape(data));  
  24. }  
  25. }else{  
  26. xhr.open("GET",args[i],false);  
  27. xhr.send(null);  
  28. data=xhr.responseText;  
  29. }  
  30. globalEval(data);  
  31. }  
  32. };  
  33. }(eval));  
  34. }  

转载地址:http://uysmb.baihongyu.com/

你可能感兴趣的文章
“再见,微软!”
查看>>
ARM 发布新一代 CPU 和 GPU,实现 20% 性能提升!
查看>>
技术引路:机器学习仍大有可为,但方向在哪里?
查看>>
漫画:如何给女朋友解释什么是编译与反编译
查看>>
刷屏了!这篇 Python 学习贴,90% 的程序员都用的上!
查看>>
漫画:如何给女朋友解释什么是适配器模式?
查看>>
程序员又迎来一个好消息! | 每日趣闻
查看>>
Mac 被曝存在恶意漏洞:黑客可随意调动摄像头,波及四百万用户!
查看>>
拒绝与其他码农一致!CSDN定制T让你成为最靓的仔
查看>>
程序员情商低?看完这 4 类程序员我懂了!
查看>>
《长安十二时辰》里你不能不知道的 IT 技术 | 每日趣闻
查看>>
程序员爬取 3 万条评论,《长安十二时辰》槽点大揭秘!
查看>>
一年参加一次就够,全新升级的 AI 开发者大会议程出炉!
查看>>
基于 XDanmuku 的 Android 性能优化实战
查看>>
基于嵌入式操作系统的物联网安全
查看>>
一个只有 99 行代码的 JS 流程框架
查看>>
移动周刊第 186 期:移动 App 客户端性能优化、iOS 开源库源码解析
查看>>
包学会之浅入浅出 Vue.js:开学篇
查看>>
JavaScriptCore 全面解析 (上篇)
查看>>
移动周刊第 187 期:App 模块化实战经验总结
查看>>