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父窗口控制只弹出一个子窗口
Apr 10 Javascript
jQuery性能优化28条建议你值得借鉴
Feb 16 Javascript
JS完成代码前最好对其做5件事
Apr 07 Javascript
jquery中常用的SET和GET$(”#msg”).html循环介绍
Oct 09 Javascript
jQuery右侧选项卡焦点图片轮播特效代码分享
Sep 05 Javascript
js跨域资源共享 基础篇
Jul 02 Javascript
JS实现输入框提示文字点击时消失效果
Jul 19 Javascript
js实现键盘自动打字效果
Dec 23 Javascript
VUE2 前端实现 静态二级省市联动选择select的示例
Feb 09 Javascript
关于微信小程序获取小程序码并接受buffer流保存为图片的方法
Jun 07 Javascript
Vue中import from的来源及省略后缀与加载文件夹问题
Feb 09 Javascript
JavaScript 绘制饼图的示例
Feb 19 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 中的类
2006/10/09 PHP
PHP新手上路(三)
2006/10/09 PHP
php 设计模式之 工厂模式
2008/12/19 PHP
PHP分多步骤填写发布信息的简单方法实例代码
2012/09/23 PHP
php curl模拟post提交数据示例
2013/12/31 PHP
查找php配置文件php.ini所在路径的二种方法
2014/05/26 PHP
简单谈谈PHP面向对象之标识对象
2017/06/27 PHP
Js切换功能的简单方法
2010/11/23 Javascript
js控制表单奇偶行样式的简单方法
2013/07/31 Javascript
JS实现让网页背景图片斜向移动的方法
2015/02/25 Javascript
js去除浏览器默认底图的方法
2015/06/08 Javascript
Jquery和angularjs获取check框选中的值的方法汇总
2016/01/17 Javascript
jQuery操作动态生成的内容的方法
2016/05/28 Javascript
简单实现bootstrap选项卡效果
2017/02/08 Javascript
使用store来优化React组件的方法
2017/10/23 Javascript
利用vue + koa2 + mockjs模拟数据的方法教程
2017/11/22 Javascript
JS实现简单贪吃蛇小游戏
2020/10/28 Javascript
Nuxt的路由动画效果案例
2020/11/06 Javascript
[01:03:00]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第一局
2016/02/25 DOTA
Linux上安装Python的PIL和Pillow库处理图片的实例教程
2016/06/23 Python
Python线程指南详细介绍
2017/01/05 Python
python opencv实现任意角度的透视变换实例代码
2018/01/12 Python
基于python代码实现简易滤除数字的方法
2018/07/17 Python
python+tifffile之tiff文件读写方式
2020/01/13 Python
在 Python 中使用 MQTT的方法
2020/08/18 Python
amazeui 验证按钮扩展的实现
2020/08/21 HTML / CSS
Vero Moda西班牙官方购物网站:丹麦BESTSELLER旗下知名女装品牌
2018/04/27 全球购物
机械专业个人求职自荐信格式
2013/09/21 职场文书
歌唱比赛获奖感言
2014/01/21 职场文书
供用电专业求职信
2014/07/07 职场文书
学生不讲诚信检讨书
2014/09/29 职场文书
公务员个人总结
2015/02/12 职场文书
会计求职自荐信
2015/03/26 职场文书
李强感恩观后感
2015/06/17 职场文书
2019公司管理制度
2019/04/19 职场文书
入党申请书怎么写?
2019/06/21 职场文书