js的bind和call

bind:改变this的指向空间

var name = 'sally';

function sayName() {
    return this.name;
}
function sayName2() {
    return this.name
}

var o = {
    'name': 'John',
    sayName: sayName,
    sayName2: sayName2.bind(window)
};
console.log(o.sayName()); //John

call: this的指向空间作为参数传入

var name = 'sally';
function sayName() {
    return this.name;
}
var o = {
    'name': 'John',
    sayName: sayName
};
console.log(sayName());//sally    
console.log(sayName.call(o));//john

猜你喜欢

转载自blog.csdn.net/ch_majia/article/details/83793321