我爱编程

js脚本引入位置区别

2018-03-16  本文已影响0人  宋乐怡

向HTML中插入JacaScript的方法主要有3种:

1. 嵌入<script>标签内联
<script type="text/javascript">
    function sayHi() {
        alert("hi");
    }
</script>

注意用这种方式时,标签内部不可以出现“</script>”字符串,会被认为是代码结束的标志。
解决办法:转义字符 or 分成两部分

<script type="text/javascript">
    function sayScript() {
        alert("<\/script>");//或alert('<'+'/script>');alert('</'+'script>');等
    }
    sayScript();
</script>
2.页面嵌入<script>标签外联
<script type="text/javascript" src="jquery-1.12.3.min.js"></script>

注意:这样的用src来引入外部文件的<script>开关标签中间就不能在包含js脚本代码 ,写了也不执行。

3. js写在HTML标签中
<button type="submit" onclick="alert('clicked me')">提交</button>

关于引入的一些些事

<script>标签的常用属性

[async] 可选。异步脚本。立即下载脚本,不妨碍其他操作,比如下载其他资源或者加载其他脚本,只对外部脚本有效。
[charset]可选。表示通过src属性指定的代码的字符集。
[defer]可选。延迟脚本。立即下载,延迟执行,表示脚本可以等到dom被完全解析和显示之后在执行。只对外部脚本有效。
[src] 可选。路径。
[type]可选。language属性被废弃,type可以看做是替代属性,表示脚本的内容类型。

<script>标签的位置

本来应该和<link>标签放在头里,目的是把所有的外部文件都放在相同的位置。但是会导致页面加载延迟。所以我们一般把<script>放在</body>之前。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>test</title>
    <link rel="stylesheet" href="index.css">
</head>
<body>
    <p>This is a para.</p>
    <button type="submit">提交</button>
    <script src="index.js" type="text/javascript"></script>
</body>
</html>
async和defer
image.png
其它注意点和执行的顺序
上一篇下一篇

猜你喜欢

热点阅读