繁体   English   中英

console.log返回一个额外的未定义

[英]console.log returns an additional undefined

我试图理解.bind并编写了以下代码:

一个简单的对象:

person = {
    name:"Joe",
    surname:"Something",
    tool:"gun",
    action: function(){
        console.log("shoot my wife");
    }
}

功能:

function police(){
    console.log("You are under arrest, " + this.name + " " + this.surname);
}

并将人员对象绑定到警察功能

var newPolice = police.bind(person);

最后,我将其记录下来:

console.log( newPolice() );

我确实得到了所需的字符串(“您已被捕,Joe Something”),但是我也得到了一个不确定的字符串,我也不知道它从何而来。 (在代码中是console.log(newPolice())生成未定义的)

这与bind无关。

当您调用newPolice()它将记录以下结果:

 console.log("You are under arrest, " + this.name + " " + this.surname); 

当您调用console.log( newPolice() ); ,您现在有两个 console.log语句,它们之间记录:

  • 和以前一样
  • newPolice的返回值

newPolice没有return语句,因此它返回undefined

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM