sqrt()
是已经具有定义行为的函数。来自MDN:
给定数字的平方根。如果数字为负,则返回NaN
。
NaN
本身不是错误。这个值表示“不是数字”-您可以找到更多信息here。
您似乎在以不同于我的方向思考功能和价值观。看这行:
var i = sqrt(-1);
此行不是说“将-1的平方根定义为等于i”。就是说:创建一个名为i的变量,并将其值设置为等于通过调用sqrt(-1)
返回的值。
因此,代码调用sqrt(-1)
,它返回NaN
,因此i
的值为NaN
。然后,当您尝试使用该值时,您会看到NaN
。