Lyrics


< More and better />


apply和call

js随笔callee,apply,call,bind,this指向

  1. 递归和函数的复用,最好使用,argument.callee

适用于函数的内部递归调用

  1. for -in是枚举对象的熟悉,相当于遍历

  2. 每个函数都有两个非继承的方法,功能是设置函数体内this的对象的值。 强大的可以扩充函数作用

域,绑定一个对象o为参数,则这个函数的this对象就指向o,一般情况下this指向window,数组的话,

可以使用A[this.index]=i,也可以改变this的指向到这个函数,

o.click()=function(){
A[this.index]=i;
// 这样this,就指向对象 o
}

  1. apply() 两个参数,一个数运行函数作用域,另一个是参数数组。参数数组可以是Array()的实例,也可以是arguement对象,因为arguement对象本身就是保存这传入函数的所有参数,是个类数组对象

  2. call() 参数必须是明确的传入每一个参数

call(this,num1,num2)

还有一个函数也会改变this的指向,会创建一个函数的实例