外贸建站网站公司,做网站软文怎么弄,wordpress苏醒主题破解,百度推广青岛公司1、typeof typeof操作符返回一个字符串#xff0c;表示未经计算的操作数的类型。 operand表示对象或原始值的表达式#xff0c;其类型将被返回。 从上面的例子可以看出#xff0c;前6个都是基础数据类型#xff0c;虽然typeof null为object#xff0c;但这只是javascrip…1、typeof typeof操作符返回一个字符串表示未经计算的操作数的类型。 operand表示对象或原始值的表达式其类型将被返回。 从上面的例子可以看出前6个都是基础数据类型虽然typeof null为object但这只是javascript存在的一个很悠久的bug不代表null就是引用数据类型并且null本身不是对象。 所以null在typeof之后返回的是有问题的结果不能作为判断null的方法如果需要在if语句中判断是否为null直接通过null来判断就好。 同时可以发现引用类型数据用typeof来判断的话除了function会被识别出来其余的都输出object。 如果想要判断一个变量是否存在可以使用typeof不能使用ifa若a未声明则报错
2、instanceof instanceof运算符用于检测构造函数的prototype属性是否出现在某个实例的原型链上。 object为实例对象constructor为构造函数 构造函数通过new可以实例对象instanceof能判断这个对象是否是之前那个构造函数生成的对象。 关于instanceof的实现原理 也就是顺着原型链去找直到找到相同的原型对象返回true否则为false。
3、区别 typeof与instanceof都是判断数据类型的方法。区别如下 typeof会返回一个变量的基本类型instanceof返回一个布尔值 instanceof可以准取地判断复用引用数据类型但是不能正确判断基础数据类型。 typeof也存在弊端他虽然可以判断基础数据类型null除外但是引用数据类型中除了function类型以外其他的无法判断。
可以看到上述两种方法都有弊端并不能满足所有场景的需求。 如果需要通用检测数据类型可以采用Object,prototype.toString调用该方法统一返回格式“[object xxx]”的字符串 了解toString的基本用法下面实现一个全局通用的数据类型判断方法。 使用如下