文档章节

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;}

© 著作权归作者所有

共有 人打赏支持
南山有台

南山有台

粉丝 6
博文 63
码字总数 18177
作品 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

没有更多内容

加载失败,请刷新页面

加载更多

请在移动端使用 先选择画笔

先选择画笔 请在移动端使用 https://lxz096.github.io/Canvas-/画板.html

壹峰
8分钟前
0
0
getSupportFragmentManager().beginTransaction().add报错cannot resolve method 'add'

getSupportFragmentManager().beginTransaction().add报错cannot resolve method 'add' 是导包的问题,所有包要保持一致,有app下的包,要保证都为app下的包 v4的包要保证都为v4的包...

lanyu96
22分钟前
0
0
linux 安装redis

Redis的安装 http://redis.io/download 官方安装例子 $ wget http://download.redis.io/releases/redis-4.0.11.tar.gz $ tar xzf redis-4.0.11.tar.gz $ cd redis-4.0.11 $ make //启动 $ sr......

苏牧影子
23分钟前
1
0
图(graph)

图(graph) 图是非线性数据结构,是一种较线性结构和树结构更为复杂的数据结构,在图结构中数据元素之间的关系可以是任意的,图中任意两个数据元素之间都可能相关。 1、概念 1.定义 图(g...

星汉
28分钟前
1
0
好用的vue组件

http://elickzhao.github.io/2017/08/vue%E4%B8%80%E4%BA%9B%E7%89%B9%E5%88%AB%E6%9C%89%E7%94%A8%E7%9A%84%E6%8F%92%E4%BB%B6/...

Littlebox
44分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部