在下面的函数typeof(var2)中记录为“undefined”,而我希望它是一个函数或变量。
var add_nos = function() {
var x = 2+3;
console.log(x);
}
var var2 = add_nos();
console.log(typeof(var2));
console.log(typeof(add_nos));
somebuddy可以解释一下,为什么会这样?
答案 0 :(得分:2)
您要将add_nos()
的返回值指定给var2
。由于它没有任何显式返回值,因此返回undefined
。
答案 1 :(得分:1)
var var2 = add_nos();
add_nos()
隐含地返回undefined
,这就是console.log(typeof(var2));
打印undefined
答案 2 :(得分:0)
你需要做的是在你的函数中添加一行看起来像这个return x;
的行,然后将x的值返回给任何调用函数的行。允许您在计算中使用函数。事物是每个函数都返回一个值,如果你没有定义返回它返回它返回undefined你是函数Ran就好了它只是没有指定一个值作为返回值。
答案 3 :(得分:0)
当你执行一个函数时,它返回你决定返回的东西,但是你没有显式地返回任何值,那么它将返回undefined
,在这种情况下它被分配给var2。其他一些语言也是如此。例如在这种情况下,python返回None
答案 4 :(得分:0)
要记住的主要事情是JavaScript中的函数总是返回一个值。明确的情况是在函数中包含return
语句并决定返回的内容。但是,如果您未在函数中明确包含return
语句,则JavaScript将返回值undefined
。
与其他人提到的一样,您的函数返回undefined
值,因为其中没有显式的return语句。变量var2
包含此undefined
值。因此,您的第一个typeof
语句会询问undefined
的类型是什么 - undefined
。