javascript类型与类型检测

1.javascript类型:

javascript类型与类型检测

注:包装对象:如“hello”.length实际为js为我们隐式创建了一个String临时对象,去调用该对象的length属性,调用过后再将该临时对象删除。

因此,如果原始类型变量使用.length,.toString()等js属性、方法等,用var str = new String(‘hello’)的效率要优于var str = ‘hello’,因为使用过程中无需再多次建立和删除临时包装对象。

2.javascript类型检测:

(1).typeof:适用于原始类型(除了null)和Function类型

使用方法:例:typeof “hello” 返回 “string”

可检测出类型变量的返回值:“类型”。如“number”,“boolean”

不可检测出类型变量的返回值:“object”

(2).instanceof:基于原型链进行检测。用于对象类型。可用于原生对象和自定义对象。

使用方法:[1,2] instanceof Array 返回 true;

返回值:true / false

自定义对象检测举例:

javascript类型与类型检测

注:iframe或window之间的自定义对象不可检测。

(3).Object.prototype.toString:适用于基本类型和对象类型。(ie6/7/8无法检测出null和undefined)

使用方法:Object.prototype.toString.apply('a') 返回 "[object String]"

返回值:"[object 类型]"。如"[object Array]","[object Null]"

参考资料:

http://www.imooc.com/video/5677

上一篇:JavaScript中常用的几种类型检测方法


下一篇:POJ 3709 K-Anonymous Sequence