第一章:JavaScript实现
- 核心ECMAscript
- 文档对象模型 DOM [body head p h2 div]提供访问和操作网页内容的方法和接口
- 浏览器对象模型 BOM [navigator location screen cookie] 提供与浏览器交互的方法和接口
第二章:在HTML中使用JavaScript
- <script> async charset defer type src language
- async 脚本异步加载 但是并不保证其执行顺序 适用于外部脚本
- defer 脚本延迟加载 等到页面加载完之后再执行 适用于外部脚本
第三章: 基本概念
1.语法
- 区分大小写 Test 和 test 是两个不同的变量
- 标识符 (变量 函数 属性的名字)
第一个字符必须是 字母 下划线_ 和美元$
其余字符可以是 字母 下划线 美元符号 数字
组合单词驼峰式写法 第一个单词的首字母小写后面的买个单词的首字母大写
- 注释 单行注释 // 和 块级注释 /* 。。。。。。。*/
- 严格模式 "use strict"
- 语句 每个语句应该以分号结束 ;
2. 关键字和保留字
- 关键字用于表示控制语句的开始和结束 do else new 不能用作标识符
3.变量
- 变量是松散类型的 可以表示任何类型的数据 var a= 123;
4.数据类型
- 基本数据类型 undefined , null, Boolean, number, string
- typeof 操作符
- undefined类型 声明但未初始化
- null 空对象指针 typeof 会返回 object
- Boolean类型 true 和 false
- number类型
- string类型 字符串是不可以改变的 要改变某个字符串 必须销毁原来的字符串
- object类型 一组数据和功能的集合 constructor 指向构造函数
5.操作符
- 一元操作符 位操作符 布尔操作符 关系操作符 乘性操作符 加性操作符 相等操作符 条件操作符。。。。
6.语句
- if语句
- do-while语句
- while语句
- for语句
- for-in 语句
- break continue 语句
- with语句
- switch语句
7.函数
- function 来创建一个函数 通过arguments可以访问参数
第四章 变量 作用域 内存问题
1.基本类型和引用类型
- 基本类型 当从一个变量赋值到另一个变量,只是复制的一个副本 两个变量互相操作不会有任何影响
- 应用类型 当一个变量赋值到另一个变量时,复制的是前一个变量的指针, 改变前一个变量会影响到另一个变量
2.执行环境
- 全局环境和函数执行环境
- 函数执行环境可以 访问 全局环境和当前函数执行环境中的变量
- 全局环境 只能访问 全局环境中的变量
第五章: 引用类型
1.object类型
- 创建方式 使用new 操作符 后面跟Object 构造函数 对象字面量表示法
2.Array类型
- 检测数组 value instanceof Array Array.isArray(value)
- 转换方法 ==》字符串 toLocalString() toString() valueOf()
- 栈方法 LIFO push()返回修改后的长度 pop()返回数组的最后一项
- 队列方法 LILO unshift() 返回修改后的长度 shift()返回数组的第一项
- 重排序方法 reverse() 反向排序 sort()正向排序 可以添加一个函数参数 作为排序的规则
- 操作方法 contact() 合并数组 slice()删除数组项 splice()可以删除 添加 替换数组项目
- 位置方法 indexOf() lastIndexOf()
- 迭代方法 every() some() filter() map() forEach()
- 归并方法 reduce() reduce Right()
3.Date()类型
- 创建当前日期的对象 new Date()
- Date 重写v toLocalString() toString() valueOf()方法 返回当前浏览器的日期格式
- 方法 getTime() getFullYear() getMonth() getDate() getDay() getHours()
4.RegExp类型
- g 表示全局模式 i表示不区分大小写 m表示多行模式
- 实例方法 exec() index input 返回第一个匹配项的数组
- test() 返回 true 或者 false
5.Function类型
- 每个函数都是Function的实例
- 没有重载 只能覆盖
- 函数的内部属性 arguments this
- arguments 有一个 callee属性 指向拥有这个arguments对象的函数
- this引用的是函数执行的环境对象 哪个环境调用这个对象
- caller 指向调用当前函数的函数的引用
- 每个函数包含两个非继承而来的方法 call(this,a,b) apply(this,[]) 。。。bind()
6.boolean类型
7.Number类型
8.string类型
- 方法 slice() indexOf() lastIndexOf() trim() toUpperCase() toLowerCase()
9.单体内置对象 Global对象 encodeURI() decodeURI() Math对象 min() max() ceil() floor() round() random()
- Math.max,apply(this, [])