gpt4 book ai didi

javascript - 用括号调用时 TypeError 不是函数

转载 作者:行者123 更新时间:2023-11-28 19:05:09 30 4
gpt4 key购买 nike

我想知道为什么将括号添加到 Hero.getSecretIdentity() 会导致 TypeError,但如果我直接在 console.log 中引用它,它就可以正常工作。

var hero = {
_name: 'John Doe',
getSecretIdentity: function (){
return this._name;
}
};

var stoleSecretIdentity = hero.getSecretIdentity.bind(hero);
var stoleSecretIdentity = hero.getSecretIdentity()

//TypeError: stoleSecretIdentity is not a function
console.log(stoleSecretIdentity());

//Works without issue
console.log(hero.getSecretIdentity());

最佳答案

您正在此处调用该函数

var stoleSecretIdentity = hero.getSecretIdentity();  // braces call the function

所以

var stoleSecrectIdentity 

不是函数,但设置为函数的返回值。

如果你这样写:

var stoleSecretIdentity = hero.getSecretIdentity; // << without braces

您可以稍后再调用它,就像您在这里所做的那样

console.log(hero.getSecretIdentity());

关于javascript - 用括号调用时 TypeError 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31838880/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com