js函数调用

除了声明函数时定义的形参外,每个函数还接收两个附加的参数:this和arguments,this取决于调用的模式。

js中共有四种调用模式:

方法调用模式:函数被保存为一个对象的属性时,this被绑定到这个对象

函数调用模式:this被绑定到全局对象,宿主如window对象(这是语言设计上的错误),方法中的内部函数中的this被绑定了错误的值,不能共享该方法对象的访问权,解决方案就是在该方法内定义一个变量并赋值为this,那么内部函数就能通过变量访问到this

构造器调用模式:一个函数用new来调用,那么将创建一个隐藏连接到该函数的prototype成员的新对象,同时this被绑定到这个新对象

apply调用模式:apply方法让我们构建一个参数数组并用其去调用函数,接收两个函数,第一个是将被绑定给this的值(对象,this就指向这个值)。第二个就是一个参数数组

 

arguments 数组(类似一个数组的对象),函数被调用时传递给函数的参数列表,

posted @ 2012-11-02 16:06  Aveen  阅读(514)  评论(0编辑  收藏  举报
Top