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 相关文章推荐
javascript编程起步(第五课)
Feb 27 Javascript
Jquery Ajax学习实例4 向WebService发出请求,返回实体对象的异步调用
Mar 16 Javascript
JavaScript 学习笔记二 字符串拼接
Mar 28 Javascript
Javascript技巧之不要用for in语句对数组进行遍历
Oct 20 Javascript
JS获取屏幕,浏览器窗口大小,网页高度宽度(实现代码)
Dec 17 Javascript
关于JavaScript 原型链的一点个人理解
Jul 31 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
Sep 05 Javascript
基于JavaScript实现随机颜色输入框
Dec 10 Javascript
Canvas实现放射线动画效果
Feb 15 Javascript
微信小程序中的swiper组件详解
Apr 14 Javascript
在vue项目中,使用axios跨域处理
Mar 07 Javascript
基于iScroll实现内容滚动效果
Mar 21 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动态生成JavaScript代码
2009/03/09 PHP
PHP防CC攻击实现代码
2011/12/29 PHP
PHP采集腾讯微博的实现代码
2012/01/19 PHP
PHP小白必须要知道的php基础知识(超实用)
2017/10/10 PHP
pjblog中的UBBCode.js
2007/04/25 Javascript
Exitjs获取DataView中图片文件名
2009/11/26 Javascript
JS获取当前日期和时间的简单实例
2013/11/19 Javascript
实例说明为什么不要行内使用javascript
2014/04/18 Javascript
实例讲解JS中数组Array的操作方法
2014/05/09 Javascript
jquery中each方法示例和常用选择器
2014/07/08 Javascript
如何正确使用Nodejs 的 c++ module 链接到 OpenSSL
2014/08/03 NodeJs
js滚动条平滑移动示例代码
2016/03/29 Javascript
JS延时器提示框的应用实例代码解析
2016/04/27 Javascript
JavaScript实现页面跳转的方式汇总
2016/05/16 Javascript
jquery+css实现简单的图片轮播效果
2017/08/07 jQuery
C#程序员入门学习微信小程序的笔记
2019/03/05 Javascript
H5+css3+js搭建带验证码的登录页面
2020/10/11 Javascript
[01:07:02]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第三场 2月26日
2021/03/11 DOTA
Python字符串匹配算法KMP实例
2015/07/18 Python
Python中的异常处理try/except/finally/raise用法分析
2019/02/28 Python
Python 用三行代码提取PDF表格数据
2019/10/13 Python
vim自动补全插件YouCompleteMe(YCM)安装过程解析
2019/10/21 Python
Python函数的定义方式与函数参数问题实例分析
2019/12/26 Python
python识别验证码图片实例详解
2020/02/17 Python
python mysql 字段与关键字冲突的解决方式
2020/03/02 Python
Python中Pyspider爬虫框架的基本使用详解
2021/01/27 Python
html5通过postMessage进行跨域通信的方法
2017/12/04 HTML / CSS
Chantelle仙黛尔内衣美国官网:法国第一品牌内衣
2018/07/26 全球购物
King Apparel官网:英国街头服饰品牌
2019/09/05 全球购物
Blue Nile蓝色尼罗河香港官网:世界最大在线钻石珠宝销售商
2020/05/07 全球购物
领先的荷兰线上超市:荷兰之家Holland at Home(支持中文)
2021/01/21 全球购物
促销活动总结报告
2014/04/26 职场文书
产品质量保证书
2014/04/29 职场文书
教师个人查摆剖析材料
2014/10/14 职场文书
订货会主持词
2015/07/01 职场文书
2016元旦主持人经典开场白台词
2015/12/03 职场文书