写在前头
大多数小伙伴看技术书籍都会用“啃”来描述读书的直观感受,当然我也是一个前端小白,白的透明那种,但是我在读技术书籍感觉到“啃”的时候,我希望把我啃红宝书第四版的过程的想法,总结带给大家,以供后来者能够更快上手。
注: 本文由于作者水平原因,如有错误之处,恳请大家指正,另外随着学习的深入,体会的加深,我会不断回来更新,修改这类文章。
思维导图
简述
函数这一章其实在有一定的编程基础,比如学过一点c语言就很好读下去。整体还是易读板块。
10.10 函数属性与方法
- 属性
length属性
length 属性保存函数定义的命名参数的个数(不在乎有没有传入这个产生)。
prototype属性
① prototype 保存了引用类型所有实例方法。例如toString()、valueOf()。
② 不可枚举的,使用 for-in 循环不会返回这个属性。
- 方法
使用 call()或 apply()的好处是可以将任意对象设置为任意函数的作用域。
①apply()
- 接受参数
两个参数:函数内 this 的值和一个参数数组。
注意 第二个参数可以是 Array 的实例或者arguments 对象。
②call()
第一个参数:是 this值。
剩余参数: 剩下的要传给被调用函数的参数则是逐个传递的。而apply()方法是传入的数组或者arguments对象一次传入所有参数。
③严格模式
在严格模式下,调用函数时如果没有指定上下文对象,则 this 值不会指向 window。除非使用 apply()或 call()把函数指定给一个对象,否则 this 的值会变成 undefined。非严格模式就是this没有指定上下文对象会默认会指向window。
④this值的能力
以指定的 this 值来调用函数。一个函数里面使用apply()可以调用this指向的那个函数。
⑥bind()
①会创建一个新的函数实例
②其 this 值会被绑定到传给 bind()的对象。
就是传给bind()的对象会和他创建的一个函数绑定在一起。
⑦继承方法
toLocaleString()
始终返回函数的代码
toString()
始终返回函数的代码
valueOf()
valueOf()返回函数本身