我在 JavaScript 中遇到了一些奇怪的事情(可能不是,更可能是我没有真正理解),我很想知道为什么事情会像他们那样表现。
当我做:
var index = '1';
index++;
alert(index);
index = index + 1;
alert(index);
index = true ? index + 1 : 0;
alert(index);
如http://jsfiddle.net/5mdmJ/中的警报将变为“2”、“3”、“4”
当我颠倒顺序并执行此操作时(http://jsfiddle.net/5mdmJ/1/):
var index = '1';
index = true ? index + 1 : 0;
alert(index);
index = index + 1;
alert(index);
index++;
alert(index);
我会有“11”、“111”和“112”。
我确实知道这是索引是字符串的东西,但我真的不明白为什么它在示例 1 中一直是 int 类型,而在示例 2 中是字符串类型。我知道这可能会非常简单,但我现在找不到任何可以真正向我阐明正在发生的事情背后的逻辑的东西。类型有变化吗?为什么以及何时会发生这种情况?
感谢任何提示或文章或任何东西!