1.typeof 操作符:用于检测给定变量的数据类型
1 var message="some string";2 alert(typeof message); //"string"3 alert(typeof(message)); //"string"4 alert(typeof 100); //"number"
typeof操作符可能返回下列字符串:
"undefined","boolean","string","number","object","function".2.Object 的实例具有的属性和方法:
constructor —— 保存用于创建当前对象的函数.hasOwnProperty("属性名") —— 检测给定属性是否是当前对象实例的属性(而不是在实例的原型中).isPrototypeOf(对象名)—— 检测 传入对象是否是另一对象的原型toString() —— 返回对象的字符串表示valueof() —— 根据不同对象返回不同原始值,通常和toString返回结果相同3. 运算符
! 逻辑非操作数是一个对象,返回 false操作数是一个空字符串,返回 true操作数是一个非空字符串,返回 false操作数是一个数值0,返回 true操作数是一个非0的任意字符(包括 Infinty ),返回 false操作数是 null,返回 true操作数是 NaN,返回 true操作数是 undefined,返回 true* 乘法一个操作数是 NaN,结果是 NaNInfinity * 0 = NaNInfinity * 非0 = Infinity 或 -InfinityInfinity * Infinity = Infinity / 除法0/0 = NaN非0/0 = Infinity 或 -Infinity ==:相等 ===:全等相等:先转换成同一类型的值在比较全等:必须是同一类型且值相等才全等4.类型检测
基本类型用 valueOf1 var s ="ILoveYou"; 2 var b = true; 3 var i = 10; 4 var u; 5 var n = null; 6 var o = new Object(); 7 alert(typeof s); //string 8 alert(typeof i); //number 9 alert(typeof b); //boolean10 alert(typeof u); //undefined11 alert(typeof n); //object12 alert(typeof o); //object
引用类型用 instanceof (返回true 或 false)
1 alert(person instanceof Object); // 变量person是Object吗?2 alert(colors instanceof Arrary); //变量colors是Array吗?3 alert(parttern instanceof Regexp); // parttern是Regexp吗?