js知识总结(函数的四种调用模式和call和apply的使用)
函数的四种调用模式
- 函数中的this,调用方式不同,指向不同
- this与调用有关,与定义无关
函数调用模式
- 函数名() || (function(){}()) ==> window
方法调用模式
- 对象.方法名() || 对象方法名 || 祖对象.父对象.子对象.方法名() ==> 宿主对象
构造器调用模式
- new 构造函数() || new 对象.构造函数() ==> new出来的新实例
间接调用模式(上下文调用模式)
- call
- 函数.call(指定的this,实参1,实参2,…)
- 对象.方法.call(指定的this,实参1,实参2,…)
- apply
- 函数.apply(指定的this,[实参1,实参2,…])
- 函数.apply(指定的this,{0: 实参1, 1:实参2, length: 2})
- 对象.方法.apply(指定的this,[实参1,实参2,…])
call和apply的使用范例
|
|
|
|
|
|
|
|