了解javascript类型的日期行为

了解javascript类型的日期行为,javascript,Javascript,代码如下: var d = new Date(); console.log(typeof(d+1)); //string console.log(typeof(d-1)); // number 为什么会产生不同的结果?(日期+1)返回一个字符串,因为字符串连接 (日期-1)由于类型转换而返回一个数字 基本上,一个字符串加一个数字返回一个字符串,该字符串的末尾追加一个数字。这是因为+运算符用于连接字符串 另一方面,当您从字符串中减去一个数字时,JavaScript执行自动类型转换 更多信息,

代码如下:

var d = new Date();

console.log(typeof(d+1)); //string

console.log(typeof(d-1)); // number
为什么会产生不同的结果?

(日期+1)
返回一个字符串,因为字符串连接

(日期-1)
由于类型转换而返回一个数字

基本上,一个字符串加一个数字返回一个字符串,该字符串的末尾追加一个数字。这是因为
+
运算符用于连接字符串

另一方面,当您从字符串中减去一个数字时,JavaScript执行自动类型转换

更多信息,请看这里

嗯,
“3”+1
是一个字符串,而
“3”-1
是一个数字,这是因为在javascript中加号也用于连接,日期对象在第一个字符串中转换为字符串,在第二个字符串中转换为数字。而且。。。这是一个复制品。