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


Posted in Javascript onFebruary 26, 2015

*#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 相关文章推荐
(推荐一个超好的JS函数库)S.Sams Lifexperience ScriptClassLib
Apr 29 Javascript
网页图片延时加载的js代码
Apr 22 Javascript
Javascript的并行运算实现代码
Nov 19 Javascript
jquery动态加载js三种方法实例
Aug 03 Javascript
jquery validate表单验证的基本用法入门
Jan 18 Javascript
使用JavaScript解决网页图片拉伸问题(推荐)
Nov 25 Javascript
原生JS获取元素的位置与尺寸实现方法
Oct 18 Javascript
VueJs使用Amaze ui调整列表和内容页面
Nov 30 Javascript
一篇文章介绍redux、react-redux、redux-saga总结
May 23 Javascript
Jquery 动态添加元素并添加点击事件实现过程解析
Oct 12 jQuery
JavaScript中window和document用法详解
Jul 28 Javascript
JavaScript代码实现微博批量取消关注功能
Feb 05 Javascript
JS实现网页滚动条感应鼠标变色的方法
Feb 26 #Javascript
js随机生成网页背景颜色的方法
Feb 26 #Javascript
jQuery简单实现隐藏以及显示特效
Feb 26 #Javascript
最流行的Node.js精简型和全栈型开发框架介绍
Feb 26 #Javascript
jQuery对象初始化的传参方式
Feb 26 #Javascript
JS实现文字链接感应鼠标淡入淡出改变颜色的方法
Feb 26 #Javascript
JS实现很酷的水波文字特效实例
Feb 26 #Javascript
You might like
PHP 图片上传实现代码 带详细注释
2010/04/29 PHP
基于php使用memcache存储session的详解
2013/06/25 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
2014/04/10 PHP
PHP伪静态Rewrite设置之APACHE篇
2014/07/30 PHP
PHP中strtr与str_replace函数运行性能简单测试示例
2019/06/22 PHP
URL编码转换,escape() encodeURI() encodeURIComponent()
2006/12/27 Javascript
js removeChild 障眼法 可能出现的错误
2009/10/06 Javascript
javascript ASCII和Hex互转的实现方法
2016/12/27 Javascript
详解使用webpack构建多页面应用
2017/12/21 Javascript
实例讲解JS中pop使用方法
2019/01/27 Javascript
js中arguments对象的深入理解
2019/05/14 Javascript
Jquery实现获取子元素的方法分析
2019/08/24 jQuery
vue仿淘宝滑动验证码功能(样式模仿)
2019/12/10 Javascript
Vue+Element实现网页版个人简历系统(推荐)
2019/12/31 Javascript
Javascript原型链及instanceof原理详解
2020/05/25 Javascript
从零学python系列之数据处理编程实例(一)
2014/05/22 Python
介绍Python中几个常用的类方法
2015/04/08 Python
Python批量修改文本文件内容的方法
2016/04/29 Python
python实现ID3决策树算法
2018/08/29 Python
Python代理IP爬虫的新手使用教程
2019/09/05 Python
关于sys.stdout和print的区别详解
2019/12/05 Python
Python函数的迭代器与生成器的示例代码
2020/06/18 Python
Subside Sports德国:足球球衣和球迷商品
2019/06/08 全球购物
英国门销售网站:Green Tree Doors
2020/01/07 全球购物
金融行业职业生涯规划范文
2014/01/17 职场文书
科研课题实施方案
2014/03/18 职场文书
文秘求职信范文
2014/04/10 职场文书
实践单位评语
2014/04/26 职场文书
应届生找工作求职信
2014/06/24 职场文书
房地产销售助理岗位职责
2015/04/14 职场文书
政府会议通知范文
2015/04/15 职场文书
有关朝花夕拾的读书笔记
2015/06/29 职场文书
入党宣誓仪式主持词
2015/06/29 职场文书
拿破仑传读书笔记
2015/07/01 职场文书
vue项目支付功能代码详解
2022/02/18 Vue.js
使用kubeadm命令行工具创建kubernetes集群
2022/03/31 Servers