我正在使用jQuery动态附加元素,发现使用时+ +
会显示NaN
且未添加下一个文本。
我可以猜测这在某种程度上+ +
可以作为算术加运算符并返回NaN
。
这不是增量运算符,因为两者之间有空间+
。
我的问题是
NaN
+
当它被字符串包围时,为什么这里不能用作连接运算符。$('#message').html('<span>' + + ' new message</span>');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="message"></div>
在Node.js中可以看到相同的行为
> 'a' + + 'b' // aNaN
注意:我知道我在+
这里添加了一个多余的东西,将其删除对我来说是有效的。
原因是因为您将+
字符放在字符串之前,试图将'b'
字符串转换为数字,结果为NaN
。您问题中的代码与此等效:
'a' + Number('b')
因此,Number('b')
返回NaN
,然后将其强制转换为字符串并附加到a
。此行为是JS固有的,因此所使用的库(无论是jQuery,节点还是其他任何库)均无关紧要。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句