Js中各种检测手段

1. 如何测试一个值是NaN

如果知道带测试的值是数字,那么可以使用标准库函数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;
}

2. 检测基本数据类型

3. 确定某个对象为特定引用类型

var oStringObject = new String("hello"); 
console.log(oStringObject instanceof String);   // 输出 "true"

4.在继承关系中用来判断一个实例是否属于它的父类型

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
JavaScript
JSRUN前端笔记, 是针对前端工程师开放的一个笔记分享平台,是前端工程师记录重点、分享经验的一个笔记本。JSRUN前端采用的 MarkDown 语法 (极客专用语法), 这里只属于前端工程师。