Jos*_*ola 10 javascript operators assignment-operator
为什么我可以+=在字符串上使用,但我不能使用-=它?
例如...
var test = "Test";
var arr = "⇔"
test += arr;
alert(test); // Shows "Test⇔"
test -= arr;
alert(test); // Shows "NaN"
Run Code Online (Sandbox Code Playgroud)
Goy*_*uix 13
简短的回答是 - 它没有定义为使用字符串.
更长的答案:如果你在两个字符串上尝试减法运算符,它将首先将它们转换为数字,然后执行算术运算.
"10" - "2" = 8
Run Code Online (Sandbox Code Playgroud)
如果您尝试非数字的东西,则会收到与NaN相关的错误:
"AA" - "A" = NaN
Run Code Online (Sandbox Code Playgroud)
因为+运算符连接字符串,但-运算符只相互减去数字.
至于原因 - 可能是因为当他们相互减去字符串时很难确定人们想要做什么.
例如:
"My string is a very string-y string" - "string"
Run Code Online (Sandbox Code Playgroud)
这应该怎么办?
| 归档时间: |
|
| 查看次数: |
12229 次 |
| 最近记录: |