为什么很多网页里不直接用script标签引入JS文件,而是通过函数新建script,然后添加属性,再来引入呢?

最近在做毕业的项目,发现很多网页里都是通过构建函数的方式来引入JS文件,代码如下:

function loadJScript() {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://***";
document.body.appendChild(script);
}

在我看来,<script src="http://***"></script>也是一样能达到目的。

程序员写代码的原则都是在保证效率的情况下尽量用最少的代码来完成工作,保持代码的精简和优雅。

但我发现很多网站都是用function来引入,这是为什么呢?求大神帮忙解释。

时间: 2024-10-10 21:19:18

为什么很多网页里不直接用script标签引入JS文件,而是通过函数新建script,然后添加属性,再来引入呢?的相关文章

自己编写jQuery动态引入js文件插件 (jquery.import.dynamic.script)

这个插件主要是结合jquery或者xhr异步请求来使用的,它可以把已经引入过的js文件记录在浏览器内存中,当下次再引入相同的文件就忽略该文件的引入. 当你用$.load("dir/my-page.jsp"); 或xhr.request("server/to-my-page");等异步请求加载html页面的时候,在页面中导入js文件用本插件进行引入的话, 那么其他请求的页面中也导入了和前面页面相当的js文件的情况下,那这些js文件就不需要重新引入.插件会自动忽略之前已

&lt;style&gt;&lt;script&gt; css和js文件引入

在<head></head>之间进行引用 <link rel="stylesheet" href="wcss.css" type="text/css" /> <script src="wjs.js" type = "text/javascript"></script>

浅谈&lt;script&gt;标签——《JS高级程序设计》笔记1

一:HTML4.01为<script>标签定义了6个属性: async: 表示应该立即下载脚本,但不应该妨碍页面中其他操作——————只对外部脚本有效: charset: 表示通过src属性指定的代码的字符集—————————————很少用: defer: 表示脚本可以延迟到文档完全被解析和显示之后再执行——————只对外部脚本有效: language: 表示编写代码使用的脚本语言———————————————已废弃: src: 表示包含要执行代码的外部文件—————————————————对

script标签里的defer属性

入职新公司,看代码的时候注意到有的script标签中有一个defer属性,查了一下.在这里分享出来. 需要注意的有三点,其中前两点是在错误中分辨出来的: 错误来源:http://www.w3school.com.cn/tags/att_script_defer.asp 1,defer属性只有IE支持:应该说是在主流浏览器都是支持的: http://www.runoob.com/tags/att-script-defer.html 中说了,在所有主流浏览器都支持defer属性:在Chrome,FF

关于&lt;Script&gt;标签在html页面放置位置

一般script标签会被放在头部或尾部.头部就是<head></head>里面,尾部一般指<body></body>里,但也有放在</body>闭合标签之后的.究竟这些位置不同有什么不一样呢?下面我来详细说一下:1.<script></script>标签放置在<head></head>标签内部时: 将script放在<head>里,浏览器解析HTML,发现script标签时,会先下载完所

script标签

<script />的写法 刚刚跟着demo学习的过程中遇到了一个问题: <script type="text/javascript" src="jquery-1.1.3.pack.js" />  这样的写法貌似是不能执行的. <script type="text/javascript" src="jquery-1.1.3.pack.js" > </script> 只能这样结束.

js文件最后加载(在window.load事件发生后再加载js文件),用于解决因jQuery等js库导致网页加载慢的问题

需引入文件:lazyload-min.js <script src="JS/lazyload-min.js" type="text/javascript"></script> 插入代码: function loadscript() { LazyLoad.loadOnce([ 'JS/touch.js', 'http://libs.baidu.com/jquery/1.2.3/jquery.min.js' ], loadComplete); }

script标签加载优化

HTML中script标签加载问题 HTML文档为一行一行从上往下加载.当加载到script标签时会停下所有加载等待script加载完毕,当script放在head标签中时,用户加载网页时会先加载script标签,使得body中的内容没法第一时间加载,导致页面处在一片空白状态下,直到script加载完毕. 在头文件的script全部加载完毕前浏览器会处于阻塞状态,而页面内容都在body标签中,如果将script标签全部放在head标签中会导致用户在script加载完毕前处于空白界面无法进行交互.

js中的script标签

在页面中用script标签引入javascript文件(<script type="text/javascript" src="js文件地址"></script>),浏览器在渲染页面的时候,当读取到script元素时,浏览器不会以HTML或XHTML的方式处理其内容,浏览器会通知浏览器的脚本引擎来接管script元素中的内容.   script元素的type属性定义脚本类型,type类型有: 1.text/ecmascript(表示以ECMA