javascript中typeof操作符和constucor属性检测

 更新时间:2015年02月26日 14:33:50   投稿:hebedich  
这篇文章主要介绍了javascript中typeof操作符和constucor属性检测的相关资料,需要的朋友可以参考下

*#type.js

复制代码 代码如下:

function Person(name, age) {
 this.name = name;
 this.age = age;
}
var d = {an: 'object'};
var a = ['apple', 'banana'];
var f = function() {};
var s = 'David';
var n = 33;
var b = true;
var o = new Object();
var person = new Person('Mark', 22);
console.log(typeof(d) + ': ' + d.constructor);
console.log(typeof(a) + ': ' + a.constructor);
console.log(typeof(f) + ': ' + f.constructor);
console.log(typeof(s) + ': ' + s.constructor);
console.log(typeof(n) + ': ' + n.constructor);
console.log(typeof(b) + ': ' + b.constructor);
console.log(typeof(o) + ': ' + o.constructor);
console.log(typeof(person) + ': ' + person.constructor);

运行$node type.js得

复制代码 代码如下:

object:   function Object() { [native code] }
object:   function Array() { [native code] }
function: function Function() { [native code] }
string:   function String() { [native code] }
number:   function Number() { [native code] }
boolean:  function Boolean() { [native code] }
object:   function Object() { [native code] }
object:   function Person() { [native code] }

可见, 使用typeof操作符和constucor属性检测对象类型返回值是存在差异的.

如果变量是数组, typeof操作符返回object, constructor属性返回Array;
如果变量是构造函数对象, typeof操作符返回object, constructor属性返回该构造函数
每个变量都有其construcor属性, 这个属性不单单提供了这个是否对象, 还提供了这个对象是什么类型的对象. 总之, constructor属性保存了一个指向对象的构造函数, 无论它是自定义的还是原生类型的对象.

有一点需要注意的是, 不同的浏览器对typeof操作符检测正则表达式会有所不同,IE和Firefox会返回'object'.

好了,今天内容就先到这里了,小伙伴们如有疑问,就在下方留言吧。

相关文章

  • 详解JavaScript中的this指向问题

    详解JavaScript中的this指向问题

    这篇文章主要介绍了详解JavaScript中的this指向问题,帮助大家更好的理解和使用JavaScript,感兴趣的朋友可以了解下
    2021-02-02
  • 使用Promise链式调用解决多个异步回调的问题

    使用Promise链式调用解决多个异步回调的问题

    这篇文章主要给大家介绍了使用Promise链式调用解决多个异步回调问题的方法,文中给出了详细的介绍和示例代码,有需要的朋友可以参考借鉴,下面来一起学习学习吧。
    2017-01-01
  • JavaScript前端常见异常及如何捕获详解

    JavaScript前端常见异常及如何捕获详解

    这篇文章主要为大家详细介绍了JavaScript前端中的常见异常以及如何捕获这些异常,文中的示例代码讲解详细,需要的小伙伴可以参考一下
    2024-03-03
  • 微信小程序textarea层级过高的解决方法

    微信小程序textarea层级过高的解决方法

    这篇文章主要给大家介绍了关于微信小程序textarea层级过高问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • JavaScript电子时钟倒计时

    JavaScript电子时钟倒计时

    这篇文章主要介绍了JavaScript电子时钟倒计时的实现代码,具有一定的参考价值,感兴趣的朋友可以参考一下
    2016-01-01
  • javascript教程:关于if简写语句优化的方法

    javascript教程:关于if简写语句优化的方法

    这篇文章主要介绍了js中if简写语句优化的方法,需要的朋友可以参考下
    2014-05-05
  • js下写一个事件队列操作函数

    js下写一个事件队列操作函数

    异步操作可能会产生你不希望的事件触发顺序。这个问题以前也遇到过,当时没想太多,也就是直接多层嵌套(在ajax返回以后嵌套下一个事件)来解决。
    2010-07-07
  • 简单了解JavaScript arguement原理及作用

    简单了解JavaScript arguement原理及作用

    这篇文章主要介绍了简单了解JavaScript arguement原理及作用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • JS拖拽插件实现步骤

    JS拖拽插件实现步骤

    实现JS拖拽插件主要从六个方面做介绍:一、js拖拽插件的原理,二、根据原理实现的最基本效果,三、代码抽象与优化,四、扩展:有效的拖拽元素,五、性能优化和总结,六、jquery插件化 ,需要的朋友可以参考下
    2015-08-08
  • JavaScript中判断整字类型最简洁的实现方法

    JavaScript中判断整字类型最简洁的实现方法

    这篇文章主要介绍了JavaScript中判断整字类型最简洁的实现方法,本文给出多个判断整数的方法,最后总结出一个最短、最简洁的实现方法,需要的朋友可以参考下
    2014-11-11

最新评论