第一章 JavaScript简介
- JavaScript最初用于处理输入验证
- 三大组成部分:核心(ECMAScript)、文档对象模型(DOM)、浏览器对象模型(BOM)
- ECMAScript与浏览器没有依赖关系,浏览器只是它的最主要宿主。
第二章 在HTML中使用JavaScript
- <script>共有六个属性,async表示立即下载脚本,但不妨碍页面中的其他操作;defer表示脚本可以延迟到文档完全被解析和显示之后执行,只对外部脚本文件有效。
- 正常情况下脚本会按照顺序依次加载。
- 延迟脚本:defer。脚本会延迟执行,第一个延迟脚本执行完后会执行第二个延迟脚本,在DOMContentLoaded事件触发之前执行。
- 异步脚本:async。脚本会立即下载,与defer不同的是不保证执行顺序。
- 顺带一提,css、图片等,都不会造成浏览器的白屏时间,只有js文件的加载会导致浏览器白屏,有两种解决方式:1、使用defer或async,但存在浏览器兼容问题。2、将js脚本文件放在浏览器最下方。还有种处理方式是requirejs。
- <noscript>元素。仅浏览器不支持JavaScript,或被禁用时会展示其中的内容。
第三章 基本概念
- 区分大小写;标识符的第一个字符必须是字母,下划线或美元符号;
- 严格模式strict mode。使用方法:"use strict";
- 有5种简单数据类型:Undefined、Null、Boolean、Number和String。一种复杂类型Object。
- 使用typeof可以检测数据类型(属于操作符,不是方法),使用方法:typeof 95 //"number"。
- undefined类型只有一个值,代表未初始化,主要用于区分空对象指针和未经初始化的变量。
- null也只有一个值,代表空对象指针,偶尔需要将某对象显示的赋值为null。
- NaN属于特殊的数值,主要是为了避免出现错误,NaN与任何值都不相等,包括NaN本身。isNaN()函数用于检验参数是否可以被转换为数值类型,如果为true,代表不可以转换为数值。