JavaScript高级程序设计--阅读笔记

1.严格模式下,不规范的写法会报错。

2.with语句用于延长作用域链,把其他地方定义的对象直接用到当前作用于来。

3.JavaScript定义函数可以没有入参,调用函数时加上自己的入参,函数中可以用arguments[n]按入参顺序调用,因为是数组形式。

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语句来解析,把执行结果插入到原位置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值