this方法(对象里面的函数)指向的是对象本身。
函数里面的this是指向window。
// "use strict"; 严格模式下
函数里面的this是没有东西 //undefined
this方法(对象里面的函数)指向的是对象本身。
// call、apply和bind
第一个参数是this指向的值。
第二个参数是函数指向的参数。
call和apply函数立即执行,bind不执行。
//摘抄网上的说明
// apply最多只能有两个参数
apply:调用一个对象的一个方法,用另一个对象替换当前对象。例如:B.apply(A, arguments);即A对象应用B对象的方法。
// call可以接受多个参数
call:调用一个对象的一个方法,用另一个对象替换当前对象。例如:B.call(A, args1,args2);即A对象调用B对象的方法。
"use strict";
function add(a,b,c){
return a+b+c;
}
function sub(a,b){
return a-b;
}
var a1 = add.apply(sub,[4,2,7]); //sub调用add的方法
var a2 = sub.apply(add,[4,2]);
console.log(a1); //6
console.log(a2); //2
/*call的用法*/
var a1 = add.call(sub,4,2,3);
console.log(a1)
浙公网安备 33010602011771号