为什么加载 JavaScript 使用 "src",CSS 使用 "href"?

鄙人的总结就是:历史遗留问题,先贤们的bug;比个不太恰当的比喻,就像javaScript叫javaScript一样。

src
本质是引入嵌入式内容,比如image,video,iframe这类替换型元素;如果说是一个网页,引入的内容相当于一个网页内部的元素,一个部分,一个实体。可以直接展示,直观的看到!

href
本质是一种引入超链接,比如a链接,link链接这类链接型元素。引入的内容时外部资源,如果说是一个网页,跟本页面没有太大的关系,不会直接展示;

js是个特例(此内容讲解来自,Winter:《重学前端》课程)
script 标签是为数不多的既可以作为替换型标签,又可以不作为替换型标签的元素。
我们先来看看 script 标签的两种用法:

<script type="text/javascript">
console.log("Hello world!");
</script>

<script type="text/javascript" src="my.js"></script>

这个例子中,我们展示了两种 script 标签的写法,一种是直接把脚本代码写在 script 标签之间,另一种是把代码放到独立的 js 文件中,用 src 属性引入。

css引入
所以说,css也是像js一样的用法,既可以直接写入,也可以引入。但是js确实用src引入,而css用href。可能是因为先贤们认为css更像是网页的外部资源一样,不是网页的一个实体。所以用href引入。(我也只能这么暗示我自己这是最正确的答案)

Winter也说过这样一句话:虽然我不知道当初是怎么设计的,但是 style 标签并非替换型元素,不能使用 src 属性,这样,我们用 link 标签引入 CSS 文件,当然就是用 href 标签啦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值