sqrt(-1) 坏了。发生了什么?
sqrt(-1) is broken. What happened?
我试图让 i
成为 -1 (sqrt(-1)
) 的平方根。这是一个定义的值:
i = sqrt(-1)
var i = sqrt(-1);
fill(0, 0, 0);
text(i, 25, 25);
它给我一个错误。发生什么事了?
sqrt()
是一个已经定义了行为的函数。来自 MDN:
The square root of the given number. If the number is negative, NaN
is returned.
NaN
本身不是错误。该值表示 "not a number" - 您可以找到更多信息 here.
您对函数和值的思考方向似乎与我不同。查看这一行:
var i = sqrt(-1);
这一行并不是在说 "define the square root of -1 to be equal to i"。它是说:创建一个名为 i
的变量,并将其值设置为等于通过调用 sqrt(-1)
.
返回的值
所以代码调用了sqrt(-1)
,其中returnsNaN
,所以i
的值为NaN
。然后,当您尝试使用该值时,您会看到 NaN
.
我试图让 i
成为 -1 (sqrt(-1)
) 的平方根。这是一个定义的值:
i = sqrt(-1)
var i = sqrt(-1);
fill(0, 0, 0);
text(i, 25, 25);
它给我一个错误。发生什么事了?
sqrt()
是一个已经定义了行为的函数。来自 MDN:
The square root of the given number. If the number is negative,
NaN
is returned.
NaN
本身不是错误。该值表示 "not a number" - 您可以找到更多信息 here.
您对函数和值的思考方向似乎与我不同。查看这一行:
var i = sqrt(-1);
这一行并不是在说 "define the square root of -1 to be equal to i"。它是说:创建一个名为 i
的变量,并将其值设置为等于通过调用 sqrt(-1)
.
所以代码调用了sqrt(-1)
,其中returnsNaN
,所以i
的值为NaN
。然后,当您尝试使用该值时,您会看到 NaN
.