原文链接:http://hi.baidu.com/pryzjvvpkkbhjyq/item/440fb91cda5cb90b8ebde43f

typeof用以获取一个变量的类型

语法:typeof a 或 typeof(a)

一般只能返回如下几个结果:number、boolean、string、function、object、undefined。

我们可以使用typeof来获取一个变量是否存在,如:if(typeof a != "undefined"){}

而不要去使用if(a),因为如果a不存在(未声明)则会出错

对于Array、Null等特殊对象,使用typeof一律返回object,这正是typeof的局限性。

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

如果我们希望获取一个对象是否是数组,或判断某个变量是否是某个对象的实例则要选择使用instanceof。

如:

var a=new Array();
alert(a instanceof Array);//输出true
alert(a instanceof Object);//输出true,因为Array是object的子类。

再如:

function test(){};
var a=new test();
alert(a instanceof test);//输出true。

谈到instanceof,这里顺便插入一个问题,就是function的arguments(一个可以访问函数的所有参数的对象,类似数组,实际上不是数组对象)

我们大家也许都认为arguments是一个Array,因为其具有数组一样的访问性质及方式

可以由arguments[n]来访问对应的单个参数的值,并拥有数组长度属性length

但如果使用instanceof去测试会发现arguments不是一个Array对象,尽管看起来很像。

function Person(name, sex){
this.name = name;
this.sex = sex;
alert(typeof(arguments)); //输出Object
alert(arguments instanceof Object); //输出true
alert(arguments instanceof Array); //输出false
}
var person = new Person();
alert(person instanceof Person); //输出true
alert(typeof(person)); //输出Object

最新文章

  1. 前端学PHP之运算符
  2. DOM-Document类型
  3. mysql 定时任务
  4. struts2.5框架使用通配符指定方法常见错误
  5. Deep Learning 10_深度学习UFLDL教程:Convolution and Pooling_exercise(斯坦福大学深度学习教程)
  6. iOS打开百度地图、高德地图导航
  7. Atitit.dwr3 不能显示错误详细信息的解决方案,控件显示错误详细信息的解决方案 java .net php
  8. JS_Ajax基础
  9. Quartz与Spring整合进行热部署的实现(二)
  10. CSS3新添加的属性
  11. SpringMVC 服务器端验证
  12. KinSlideshow参数设置说明
  13. Delphi中ADO异步执行方式
  14. python字符串连接方式(转)
  15. 复习上学期的HTML+CSS(1)
  16. Lottie 动画里有图片怎么办?设计师小姐姐也能帮你减少开发量!
  17. AngularJS 1.x系列:AngularJS服务-Service、Factory、Provider、Value及Constant(5)
  18. 怎么样启用红米手机5的ROOT权限
  19. monkey测试样例
  20. SQL,group by分组后分别计算组内不同值的数量

热门文章

  1. (转)@RequestParam @RequestBody @PathVariable 等参数绑定注解详解
  2. jquery datepicker 中文
  3. CentOS 傻瓜式部署uWSGI + nginx + flask
  4. Sql Server 2012 数据库同步方式 (发布、订阅)
  5. .net core 2.0 mvc 获取配置信息
  6. js vs2013中允许js访问json文件的解决方案
  7. ocp题库变化,052新加的考试题及答案整理-32
  8. linux安装报错之:ifconfig command not found解决
  9. <转>jmeter JDBC Request之Query Type
  10. Spark - 经典案例