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 Event学习第六章 事件的访问
Feb 07 Javascript
基于javascript html5实现多文件上传
Mar 03 Javascript
url中的特殊符号有什么含义(推荐)
Jun 17 Javascript
Web打印解决方案之普通报表打印功能
Aug 29 Javascript
微信小程序使用第三方库Immutable.js实例详解
Sep 27 Javascript
JS实现根据用户输入分钟进行倒计时功能
Nov 14 Javascript
微信小程序 页面跳转和数据传递实例详解
Jan 19 Javascript
JS中使用 after 伪类清除浮动实例
Mar 01 Javascript
Javascript中类式继承和原型式继承的实现方法和区别之处
Apr 25 Javascript
vue项目常用组件和框架结构介绍
Dec 24 Javascript
支付宝小程序tabbar底部导航
Nov 06 Javascript
vue实现简单学生信息管理
May 30 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教程 预定义变量
2009/10/23 PHP
PHP用身份证号获取星座和生肖的方法
2013/11/07 PHP
一个简单至极的PHP缓存类代码
2015/10/23 PHP
yii2使用GridView实现数据全选及批量删除按钮示例
2017/03/01 PHP
php创建图像具体步骤
2017/03/13 PHP
服务器安全设置的几个注册表设置
2007/07/28 Javascript
JavaScript学习笔记(十)
2010/01/17 Javascript
JS 控制小数位数的实现代码
2011/08/02 Javascript
JavaScript单元测试ABC
2012/04/12 Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
2013/09/10 Javascript
JavaScript实现标题栏文字轮播效果代码
2015/10/24 Javascript
jQuery form插件的使用之处理server返回的JSON, XML,HTML数据
2016/01/26 Javascript
jquery+css3实现会动的小圆圈效果
2016/01/27 Javascript
Bootstrap字体图标无法正常显示的解决方法
2016/10/08 Javascript
Node.js中 __dirname 的使用介绍
2017/06/19 Javascript
vue各种事件监听实例(小结)
2020/06/24 Javascript
js实现菜单跳转效果
2020/12/11 Javascript
[54:08]LGD女子刀塔学院 DOTA2炼金术士教学
2014/01/09 DOTA
Python格式化css文件的方法
2015/03/10 Python
Python实现完整的事务操作示例
2017/06/20 Python
详解python实现读取邮件数据并下载附件的实例
2017/08/03 Python
django用户注册、登录、注销和用户扩展的示例
2018/03/19 Python
Python函数的参数常见分类与用法实例详解
2019/03/30 Python
Python自动抢红包教程详解
2019/06/11 Python
Python面向对象原理与基础语法详解
2020/01/02 Python
Python中Pyspider爬虫框架的基本使用详解
2021/01/27 Python
印度网上药店:1mg
2017/10/13 全球购物
外贸业务员求职自荐信分享
2013/09/21 职场文书
平安建设实施方案
2014/03/19 职场文书
企业年度评优方案
2014/06/02 职场文书
党的群众路线对照检查材料
2014/08/27 职场文书
我与祖国共奋进演讲稿
2014/09/13 职场文书
超级礼物观后感
2015/06/15 职场文书
中学教代会开幕词
2016/03/04 职场文书
Nginx配置SSL证书出错解决方案
2021/03/31 Servers
Python Django项目和应用的创建详解
2021/11/27 Python