(2) JS基础知识

2019-03-25  本文已影响0人  汨逸

JavaScript基础知识

1. 特点

2. script标签

<script async charset="UTF-8" defer language src type></script>

async: 立即下载脚本,但不妨碍页面中其他操作(只对外部脚本文件有效)
defer:表示脚本可以延迟到文档完全被解析和显示之后再执行(只对外部脚本文件有效)
    这个布尔属性被设定用来通知浏览器该脚本将在文档完成解析后,触发 DOMContentLoaded 事件前执行
src:外部脚本文件地址
type:可选
    text/javascript: 默认
    text/ecmascript: 不推荐
    application/javascript
    module:JavaScript模块(ES6)

language:已废弃
charset:大多数浏览器会忽略,不推荐使用

3. 三种方式

  1. 内嵌式

    <button onclick="fun">点击我</button>
    
  2. 内联式

    <script>
    console.log('hello world');
    </script>
    
  3. 外联式

    <script src="index.js"></script>
    

注意:

1. 内联式和外联式不要混合使用
2. JS代码中不要出现'</script>',否则会认为提前结束,导致错误
3. src引入的 .js 扩展名不是必须的,但是必须保证服务器返回正确的MIME类型
4. 只要不存在defer和async,浏览器会同步加载JS文件,并一次解析(因此JS一般放在body末尾,防止阻塞页面渲染)
5. 多个defer脚本的时候,不一定按顺序加载(加载顺序不可控)

4. 基础

  1. 注释

    // 单行注释
    
    /*
     * 多行注释
     */
    
  2. 严格模式

    ECMAScript 5引入了严格模式(strict mode),定义了一种不同的解析与执行模型,处理一些不确定的行为,对某些额不安全操作抛出错误。

    "use strict"
    
  3. 分号

    JavaScript不强制语句末尾分号,可加可不加。

    在现在开发中,前端有了Node辅助(Grunt,Gulp,Webpack等工具),JS代码进行压缩,自动添加分号,所以语句末尾是否增加分号根据团队习惯就行

5. 不支持JavaScript特殊表现

不支持script元素的浏览器

<script><!--
    JS代码
// --></script>

不支持或者未开启script脚本给提示

<noscript>
    您的浏览器不支持(未启用)Javascript!!!
</noscript>
上一篇下一篇

猜你喜欢

热点阅读