如果知道带测试的值是数字,那么可以使用标准库函数isNaN ,但是对于其他绝对不是NaN,但会被强制转换为NaN的值,使用isNaN方法是无法区分的。
isNaN(NaN); //true
isNaN('a'); //true
isNaN(undefined); //true
isNaN({}); //true
isNaN({valueOf:'a'}); //true
利用NaN是唯一一个不等于自身值的特性检验
var x=NaN;
x!==x //true
/*测试x是否是NaN,是返回true,否则返回false*/
function isReallyNaN(x){
return x!==x;
}
var oStringObject = new String("hello");
console.log(oStringObject instanceof String); // 输出 "true"
function Aoo(){}
function Foo(){}
Foo.prototype = new Aoo();//JavaScript 原型继承
var foo = new Foo();
console.log(foo instanceof Foo)//true
console.log(foo instanceof Aoo)//true