在JavaScript中,1是一个字面值,表示数字1,而Number(1)是一个构造函数,可以将参数转换为数字类型。如果将一个非数字类型的值传递给Number()构造函数,它将尝试将该值强制转换为数字类型。例如:
1 + 1 // 2 "1" + "1" // "11" typeof 1 // "number" typeof Number("1") // "number" typeof "1" // "string" typeof Number("hello") // "number"
在第二个例子中,字符串“1”连接在一起,形成另一个字符串“11”。在第三个例子中,尽管传递给Number()构造函数的是一个非数字字符串,但它将尝试将其转换为数字类型,因此结果是数字类型,打印typeof运算符的结果也是“number”。