1. 程式人生 > >js的bind和call

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