javascript高级程序设计第五章:引用类型读书笔记
1:访问对象属性使用点表示法,也可以用方括号把属性名字以字符串形式放到方括号中来访问。
2:Array类型的length属性不但可以读取长度,也可以通过设置length,从数组末尾项增加或删除新项。栈方法:push(),pop().队列方法:shift(),unshift().重排序:reverse(),sort(),操作方法:concat(),slice(),splice().
3:每个函数都是Function类型的实例,函数名实际上是指向函数的指针,不会与某个函数绑定。使用不带括号的函数名是访问函数指针,不是调用函数。
4:解析器会率先读取函数声明,并使其可以在执行任何代码之前可以访问,对于函数表达式,则必须等待解析器执行到他所在的代码行才会被解释执行。除此以外,函数声明与函数表达式是等价的。
5:作为值的函数:函数名本身就是变量,所以函数也可以作为值来使用。不仅可以向传递参数一样把一个函数传递给另一个函数,也可以将函数作为另一个函数的结果返回。想要访问函数的指针而不执行函数,去掉圆括号。
6:函数内部有两个特殊对象,arguments和this。arguments主要用于保存函数参数,这个对象还有一个callee属性,这是一个指针,指向拥有这个arguments对象的函数。this引用的是函数据以执行操作的对象。
7:每个函数都包含两个属性,length和prototype。length表示希望接收到的参数的个数。对于引用类型而言,prototype是保存他们所有实例对象的真正所在。
8:每个函数都包含两个非继承而来的方法:apple()和call(),第一个参数是在其中执行函数的作用域,第二个参数是参数数组。apply()的第二个参数可以传数组和arguments对喜爱那个。call()的第二个参数只能把要传递的参数逐个列举。他们的作用是扩充函数赖以执行的作用域。
9:每当读取一个基本类型值的时候,后台会创建一个对应的基本包装类型的对象,从而可以使我们调用一些方法来操作这些数据。(因为基本类型值不是对象,所以他们本不该有方法)基本包转类型有:Boolean类型,Number类型,String类型。
10:在全局作用域中声明的所有变量和函数,都是window对象的属性。
浙公网安备 33010602011771号