为什么javascript绑定不起作用

Don*_*ant 4 javascript bind

功能:

function talk(){ 
        console.log(this.name + " dice: ");
}

var Person = function(name, surname){
    this.name = name;
    this.surname = surname;
}

var p = new Person("Mark", "Red");

talk.bind(p);
Run Code Online (Sandbox Code Playgroud)

绑定有什么问题?

Rob*_* M. 17

它确实有效,talk.bind(p)返回绑定函数:

talk.bind(p)();


Pla*_*ure 7

没有任何问题bind()- 它只是没有被正确使用.bind() 返回绑定到指定对象的新函数.您仍然需要执行该功能:

function talk(){ 
        console.log(this.name + " dice: ");
}

var Person = function(name, surname){
    this.name = name;
    this.surname = surname;
}

var p = new Person("Mark", "Red");

var markTalks = talk.bind(p);

markTalks();    // logs properly
Run Code Online (Sandbox Code Playgroud)