文档章节

typeof、instanceof、constructor

南山有台
 南山有台
发布于 2016/12/07 17:50
字数 293
阅读 8
收藏 0

typeof typeof是一个一元运算,放在一个运算数之前,运算数可以是任意类型。 它返回的值是一个字符串,该字符串说明运算数的类型。 typeof一般只能返回如下几个结果:number、boolean、string、function、object、undefined 我们可以使用typeof来获取一个变量是否存在,如

if(typeof a!='undefined'){
alert('ok')
}

而不要去使用if(a),因为如果a不存在(为声明)则会出错,对于Array,Null等特殊对象使用typeof一律返回object,这正是typeof的局限性。

instanceof instance:实例、例子

 a instanceof b? alert('true'):alert('false');  //a是b的实例?真:假

instanceof用于判断一个变量是否是某个对象的实例,如

var  a = new Array();
alert(a instanceof Array);		//返回true

同时alert(a instanceof Object) 也会返回true,因为Array是object的子类。

constructor constructor属性返回对创建此对象的数组函数的引用; 例: 在本例中,我们将展示如何使用 constructor 属性:

<script type="text/javascript">

	function employee(name,job,born)
	{
	this.name=name;
	this.job=job;
	this.born=born;
	}

	var bill=new employee("Bill Gates","Engineer",1985);

	document.write(bill.constructor);

	</script>

输出:

function employee(name, job, born)
	{this.name = name; this.job = job; this.born = born;}

© 著作权归作者所有

共有 人打赏支持
南山有台

南山有台

粉丝 7
博文 69
码字总数 21727
作品 0
海淀
前端工程师
私信 提问
如何判断js中的数据类型

如何判断js中的类型呢,先举几个例子: var a = "iamstring."; var b = 222; var c= [1,2,3]; var d = new Date(); var e = function(){alert(111);}; var f = function(){this.name="22";};......

觉皇
2016/06/17
28
0
如何判断js中的数据类型:typeof、instanceof、 constructor、 prototype方法比较

如何判断js中的数据类型:typeof、instanceof、 constructor、 prototype方法比较 如何判断js中的类型呢,先举几个例子: var a = "iamstring."; var b = 222; var c= [1,2,3]; var d = new...

writeademo
2016/10/31
72
0
JavaScript 数据类型判断

1.1 JavaScript 数据类型 简单数据类型(基本数据类型): Undefined ; Null ; Boolean ; Number ; String ; Symbol(ES6新增) 复杂数据类型:Object,Object 本质上是由一组无序的名值对组成...

piada
05/18
0
0
JavaScript中的类型判断,了解一下?

在前端项目中,谁还没有被对象类型错误坑过? typeof操作符 通过typeof操作符获取操作数的类型: 关于typeof操作符,我们需要记住两点,第一点:当操作数为null时。 第二点:当操作数为原始类...

云起时
05/23
0
0
Javascript中typeof instanceof constructor的区别

typeof typeof,是一个运算符,运算中需要一个操作数,运算的结果就是这个操作数的类型,运算的结果是一个字符串。他有一定的局限性,对于对象类型的值,只能得到一个object结果,却不能精确...

桃子红了呐
2017/06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MyBaties分页插件PageHelper的简单使用

抛出问题: 如果想要将现有的select语句改为支持分页功能的查询语句该怎么做呢? 最简单的一种做法就是将所有的select语句都加上limit来实现分页,这种做法有什么问题呢? 有没有一种简便方法...

嘴角轻扬30
23分钟前
1
0
创业公司如何快速构建高效的监控系统?

12 月 7 日,在 2018 ArchSummit 全球架构师峰会·运维与监控专场,七牛云资深运维开发工程师贺强带来了主题为《如何快速构建高效的监控系统》的内容分享。 本文是对演讲内容的实录整理。 大...

七牛云
23分钟前
0
0
Docker与自动化测试及其测试实践

Docker 与自动化测试 对于重复枯燥的手动测试任务,可以考虑将其进行自动化改造。自动化的成本在于自动化程序的编写和维护,而收益在于节省了手动执行用例的时间。简而言之,如果收益大于成本...

微笑向暖wx
24分钟前
1
0
Spring Cloud 分布式链路跟踪 Sleuth + Zipkin + Elasticsearch

随着业务越来越复杂,系统也随之进行各种拆分,特别是随着微服务架构的兴起,看似一个简单的应用,后台可能很多服务在支撑;一个请求可能需要多个服务的调用;当请求迟缓或不可用时,无法得知...

编程SHA
26分钟前
1
0
Swift-清除缓存

func removeCache (){ // 取出cache文件夹路径.如果清除其他位子的可以将cachesDirectory换成对应的文件夹 let cachePath = NSSearchPathForDirectoriesInDomains(FileMan...

west_zll
27分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部