Javascript 为什么'+=';运算符返回未定义?
当我准备一个函数时,我注意到它最初返回“undefined”以及它应该返回的其他信息。这是: 我这样调用函数:Javascript 为什么'+=';运算符返回未定义?,javascript,jquery,Javascript,Jquery,当我准备一个函数时,我注意到它最初返回“undefined”以及它应该返回的其他信息。这是: 我这样调用函数: $('#glorp').append(foo()); 报税表如下: 未定义这个,那个,另一个 当我预料到这一点时: 这个,那个,另一个 我做了相当多的挖掘,但我无法找到任何确定的。然后我将第一个glorp操作符更改为just=,未定义的消息消失了 由于glorp是在函数打开时声明的,因此应该在if语句中定义它,并且似乎是因为成功返回了“this” 返回的“未定义”是什么 因为 var
$('#glorp').append(foo());
报税表如下:
未定义这个,那个,另一个
当我预料到这一点时:
这个,那个,另一个
我做了相当多的挖掘,但我无法找到任何确定的。然后我将第一个glorp
操作符更改为just=
,未定义的消息消失了
由于glorp
是在函数打开时声明的,因此应该在if
语句中定义它,并且似乎是因为成功返回了“this”
返回的“未定义”是什么 因为
var glorp; //<--undefined
console.log(glorp); //logs undefined
glorp = glorp + "x"; // undefined + "x" -> "undefined" + "x" -> "undefinedx"
console.log(glorp); //logs "undefinedx"
您需要在开始时将
glorp
设置为空字符串
var glorp = "";
对于输出,当您添加
undefined+string
时,它使undefined
成为字符串值“undefined”
。因此“undefined”+“this”=“undefinedthis”
您没有初始化变量。您要做的第一件事是执行+=
操作,此时变量的值是未定义的
。变量的初始值是未定义的
。只需将其更改为“var glorp=”“;”咖啡休息时间;)还有另一个输入错误@Pointy:-/I确实需要咖啡。如果它是未定义的,那么为什么它在返回“未定义”的同时返回值“this”代码>。这只是“这个”的缩写代码>其计算结果为glorp=undefined+'this'代码>。啊!该死,我真的需要喝点咖啡。谢谢@FelixKling
var glorp = "";
var glorp = "";