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

作者:hebedich 时间:2024-05-09 10:37:27 

*#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,typeof,操作符,constucor
0
投稿

猜你喜欢

  • Ubuntu16.04 server下配置MySQL,并开启远程连接的方法

    2024-01-17 08:59:10
  • python程序快速缩进多行代码方法总结

    2022-12-06 03:30:38
  • 基于mysql多实例安装的深入解析

    2024-01-21 01:59:27
  • 用基于python的appium爬取b站直播消费记录

    2021-08-03 21:57:23
  • python实现自动打卡小程序

    2022-07-24 00:45:15
  • python导入同级模块的实现

    2021-03-09 10:08:51
  • Go语言程序查看和诊断工具详解

    2023-06-22 02:40:38
  • Python中字典(dict)和列表(list)的排序方法实例

    2021-11-30 11:15:18
  • js读取图片的宽和高

    2007-08-04 10:14:00
  • mcrypt启用 加密以及解密过程详细解析

    2023-07-15 19:41:55
  • 谈一谈基于python的面向对象编程基础

    2021-09-09 11:04:39
  • Python的文本常量与字符串模板之string库

    2022-04-11 05:13:25
  • Python简单计算文件MD5值的方法示例

    2023-06-07 06:06:42
  • python 实现快速生成连续、随机字母列表

    2021-02-20 19:46:45
  • JS实现隔行换色的表格排序

    2024-04-29 13:35:55
  • SQL Server新特性SequenceNumber用法介绍

    2024-01-15 02:38:34
  • 基于Python __dict__与dir()的区别详解

    2021-04-23 15:00:34
  • 举例讲解Python中的Null模式与桥接模式编程

    2021-10-05 09:06:34
  • Pytorch中transforms.Resize()的简单使用

    2023-06-17 02:23:28
  • python中数组和列表的简单实例

    2021-04-15 20:04:42
  • asp之家 网络编程 m.aspxhome.com