isNaN()是什么以及isNaN()怎么用,参考w3school的介绍:
http://www.w3school.com.cn/jsref/jsref_isNaN.asp
这里说一下isNaN()的实现,v8 ES6的实现如下:
// ES6 18.2.3 isNaN(number)
function GlobalIsNaN(number) {
number = TO_NUMBER(number);
return NUMBER_IS_NAN(number);
}
实现很简单,就是先尝试把传入的值转换成number类型,然后判断转换后的值是不是“不是一个有效数字”。
其中TO_NUMBER()
以及NUMBER_ISNAN()
两个函数都是使用python实现的。
我目前不懂python,所以再看py的源码,发现看不懂了,好像也是用了py原生的函数做的判断,以后有机会再深入。