JavaScript高级程序设计--阅读笔记
2018-01-04 16:14
495 查看
1.严格模式下,不规范的写法会报错。
2.with语句用于延长作用域链,把其他地方定义的对象直接用到当前作用于来。
3.JavaScript定义函数可以没有入参,调用函数时加上自己的入参,函数中可以用arguments
按入参顺序调用,因为是数组形式。
4.由于函数可以没有入参,所以JS的函数无法重载(重载:根据函数入参数量的不同,执行不同的同名函数)。
5.复制的对象类型被函数修改后,原对象也被修改;复制的基本变量被函数修改后,原基本变量不会被修改。因为被复制的对象和原对象指向的是同一堆内存,而基本类型不是。
6.typeof检测基本数据类型,输出类型名;instanceof则用于判断一个变量是不是某个对象的实例。
7.JavaScript作用域:内部环境可以访问外部变量,外部环境无法访问内部变量。
8.JavaScript没有块级作用域,花括号内定义的变量,运行后不会销毁,需要等待回收机制回收。
9.垃圾回收-标记清除法:变量有进入环境和离开环境,当变量进入环境时永远不能释放,当变量离开环境时,可以回收。当前主流浏览器都是使用的此方法。
10.局部变量会在离开执行环境时自动回收,而全局变量和全局对象不会自动回收,当不再需要使用它时,解除它的引用,赋null值,则垃圾回收器下次运行时可回收全局变量。
11.引用类型包括:Object对象、Array对象、Date对象、RegExp对象、Function对象、基本包装对象、单体内置对象。
12.Object类型有new和字面量两种创建方法。
13.Array类型有栈方法(push、pop)、队列方法(shift、unshift)、sort(compare函数)排序方法、reverse()对调方法、concat()复制拼接方法、slice()复制截取方法、splice()删除插入替换方法、位置方法。
14.Array迭代处理方法:every()每个、some()某些、filter()过滤、forEach()、map()挨个操作并返回操作后的数组。
15.Function类型内部属性:arguments、this。
16.函数默认属性:length、prototype,默认方法:call()、apply()。
17.call、apply能够扩充函数赖以运行的作用域。
18.eval():将传入的字符串当做ECMAScript语句来解析,把执行结果插入到原位置。
2.with语句用于延长作用域链,把其他地方定义的对象直接用到当前作用于来。
3.JavaScript定义函数可以没有入参,调用函数时加上自己的入参,函数中可以用arguments
按入参顺序调用,因为是数组形式。
4.由于函数可以没有入参,所以JS的函数无法重载(重载:根据函数入参数量的不同,执行不同的同名函数)。
5.复制的对象类型被函数修改后,原对象也被修改;复制的基本变量被函数修改后,原基本变量不会被修改。因为被复制的对象和原对象指向的是同一堆内存,而基本类型不是。
6.typeof检测基本数据类型,输出类型名;instanceof则用于判断一个变量是不是某个对象的实例。
7.JavaScript作用域:内部环境可以访问外部变量,外部环境无法访问内部变量。
8.JavaScript没有块级作用域,花括号内定义的变量,运行后不会销毁,需要等待回收机制回收。
9.垃圾回收-标记清除法:变量有进入环境和离开环境,当变量进入环境时永远不能释放,当变量离开环境时,可以回收。当前主流浏览器都是使用的此方法。
10.局部变量会在离开执行环境时自动回收,而全局变量和全局对象不会自动回收,当不再需要使用它时,解除它的引用,赋null值,则垃圾回收器下次运行时可回收全局变量。
11.引用类型包括:Object对象、Array对象、Date对象、RegExp对象、Function对象、基本包装对象、单体内置对象。
12.Object类型有new和字面量两种创建方法。
13.Array类型有栈方法(push、pop)、队列方法(shift、unshift)、sort(compare函数)排序方法、reverse()对调方法、concat()复制拼接方法、slice()复制截取方法、splice()删除插入替换方法、位置方法。
14.Array迭代处理方法:every()每个、some()某些、filter()过滤、forEach()、map()挨个操作并返回操作后的数组。
15.Function类型内部属性:arguments、this。
16.函数默认属性:length、prototype,默认方法:call()、apply()。
17.call、apply能够扩充函数赖以运行的作用域。
18.eval():将传入的字符串当做ECMAScript语句来解析,把执行结果插入到原位置。
相关文章推荐
- JavaScript高级程序设计 阅读笔记(二十) js错误处理
- javascript高级程序设计阅读笔记(一)
- JavaScript高级程序设计 阅读笔记(七) ECMAScript中的语句
- JavaScript高级程序设计 阅读笔记(十八) js跨平台的事件
- JavaScript高级程序设计阅读笔记(六) ECMAScript中的运算符(二)
- JavaScript高级程序设计:第9.10章阅读笔记
- JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)
- JavaScript高级程序设计 阅读笔记(四) ECMAScript中的类型转换
- JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js
- 【阅读笔记】JavaScript 高级程序设计(二)
- JavaScript高级程序设计 阅读笔记(二十) js错误处理
- JavaScript高级程序设计 阅读笔记(十四) js继承机制的实现
- javascript高级程序设计阅读笔记
- JavaScript高级程序设计 阅读笔记(十九) js表格排序
- 【阅读笔记】JavaScript 高级程序设计(三)
- JavaScript高级程序设计 阅读笔记(十八) js跨平台的事件
- JavaScript高级程序设计(第3版)阅读笔记第01天-js简介
- JavaScript高级程序设计 阅读笔记(十七) js事件