当我执行我创建的函数时,我对为什么得到[Function]的输出感到有些困惑。
var nameString = function (name) {
return "Hi, I am" + " " + name;
};
nameString("Yasser");
console.log(nameString);
我知道我在console.log中使用该函数来打印出它的值。它不应该打印出我的名字“yasser”而不是说功能吗?
答案 0 :(得分:3)
执行console.log(nameString)
时,它会打印.toString()
上调用的nameString.toString()
输出,如[Function]
。输出结果为nameString
您需要使用字符串参数执行函数console.log(nameString("Yasser"))
,然后按如下所示记录返回的输出
{{1}}
答案 1 :(得分:1)
因为你在函数上运行console.log,所以你没有调用它,所以你不会得到返回值。我看到你已经在console.log上面调用了这个函数,但你还没有在任何地方分配值
试
console.log(nameString("Yasser"));
或
var s = nameString("Yasser");
console.log(s);
答案 2 :(得分:1)
您正在从函数返回一个字符串,但不会将其分配给任何内容。
当您console.log
时,您没有使用上次通话的结果;你只是在Javascript中打印一个函数指针。
要解决此问题,您应该将结果分配给变量:
var name = nameString("Yasser");
console.log(name);
或者简单地内联函数的结果:
console.log(nameString("Yasser"));
答案 3 :(得分:1)
您在共享的Javascript代码中理解非常基本的事情,有两件事需要考虑:
功能参考----> nameString 只是对该函数的引用。没什么了!
var nameString = function (name) {
return "Hi, I am" + " " + name;
};
alert(typeof nameString);

nameString();
话虽如此,你想要的就是这样:
var nameString = function (name) {
return "Hi, I am" + " " + name;
};
alert(nameString('WooCommerce'));