JavaScript类型检测的方法实例教程
使用关键字 typeof 返回的是类型名仅包括以下 7 种:number、string、boolean、undefined、symbol、object、function 。另外,虽然 instanceof 能够判断出arr是Array的实例,但它认为也是Object的实例,这对判断一个未知引用类型并不友好。对于这种情况,可以换用 constructor 进行判断。但除了 Object 类型的对象外,其他类型直接使用 toString 方法时,会直接返回都是内容的字符串,所以我们需要使用call或者apply方法来改变toString方法的执行上下文。Object.prototype.toString可以判断null,但习惯上我们用 null===null来判断是否为null。无法用constructor判断null和undefined,但可以避免使用instanceof时arr的原型对象既可以为Array也可以是Object。在鸭子类型中,关注点在于对象的行为,能作什么;而不是关注对象所属的类型。如果这些需要被调用的方法不存在,那么将引发一个运行时错误。
下载地址
用户评论