from:http://www.wxwdesign.cn/article/skills/javascript_typeof_instanceof.htm

JavaScript中typeof和instanceof常用来判断一个变量是否为空,或者是什么类型的。但它们之间还是有区别的:

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的子类。再如:function test(){};var a=new test();alert(a instanceof test)会返回

谈到instanceof我们要多插入一个问题,就是function的arguments,我们大家也许都认为arguments是一个Array,但如果使用instaceof去测试会发现arguments不是一个Array对象,尽管看起来很像。

另外:

测试 var a=new Array();if (a instanceof Object) alert('Y');else alert('N');
得'Y’

但 if (window instanceof Object) alert('Y');else alert('N');

得'N'

所以,这里的instanceof测试的object是指js语法中的object,不是指dom模型对象。

使用typeof会有些区别
alert(typeof(window) 会得 object

转载于:https://www.cnblogs.com/xuan52rock/p/4538037.html

javascript:typeof与instanceof区别相关推荐

  1. JavaScript重难点解析1(数据类型——var、let、const区别,类型补充,“===”、“typeof”、“instanceof”区别,Symbol数据类型)

    JavaScript重难点解析1(数据类型) var.let.const区别: 类型补充 "==="."typeof"."instanceof&quo ...

  2. 面试官:说说 typeof 与 instanceof 区别?

    一.typeof typeof 操作符返回一个字符串,表示未经计算的操作数的类型 使用方法如下: typeof operand typeof(operand) operand表示对象或原始值的表达式, ...

  3. JS中typeof与instanceof的区别

    JavaScript 中 typeof 和 instanceof 常用来判断一个变量是否为空,或者是什么类型的.但它们之间还是有区别的: typeof typeof 是一个一元运算,放在一个运算数之前 ...

  4. typeof 与 instanceof 的使用和区别

    typeof typeof 操作符返回一个字符串,表示未经计算的操作数的类型. 原始类型 基本类型:number/string/boolean function object undefined 语法 ...

  5. JavaScript学习(六十三)—typeof和instanceof检测数据类型的异同

    JavaScript学习(六十三)-typeof和instanceof检测数据类型的异同 一.JavaScript中的数据类型 在JavaScript中,我们把数据可以分为原始类型和引用数据类型. 原 ...

  6. typeof和instanceof的区别

    typeof 用于判断数据类型,返回值有number.string.boolean.function.undefined.object 六个. <script>let a = [1, 2, ...

  7. 详解js中typeof、instanceof与constructor

    typeof返回一个表达式的数据类型的字符串,返回结果为js基本的数据类型,包括number,boolean,string,object,undefined,function.语法为typeof(da ...

  8. instanceof用法_「JS很简单」JavaScript 基础之 instanceof操作符

    最近开始在整理ES6/ES7/ES8/ES9的知识点(已经上传到 我的博客 上),碰到一些知识点是自己已经忘记(用得少的知识点),于是也重新复习了一遍. 这篇文章要复习的 instanceof 是我在 ...

  9. php 变量类型 typeof,typeof和instanceof的区别是什么

    typeof和instanceof的区别是:typeof的返回值是一个字符串,用来说明变量的数据类型:instanceof的返回值是布尔值,用于判断一个变量是否属于某个对象的实例. 比较typeof与 ...

  10. JavaScript typeof

    文章目录 JavaScript typeof, null, 和 undefined typeof 操作符 Null Undefined Undefined 和 Null 的区别 JavaScript ...

最新文章

  1. ISDN,俗称一线通!
  2. Wireshark安装失败或找不到网络接口问题
  3. 清华大学计算机系网络教学视频31门计算机课程
  4. java 数组 内存_图解Java数组的内存分配
  5. 复地邮箱服务器地址,打印服务器设置方法
  6. 晋职称不考外语 计算机,评职称不考外语计算机的价值导向
  7. mysql active推送消息_java实现基于activeMQ的消息推送
  8. HDU1427 速算24点【DFS】
  9. html顶栏符号不显示,html – 带有USE标记的SVG无法呈现
  10. linux mysql 开发_Linux64下mysql安装和开发
  11. 使用NanoHttpd在Android项目中搭建服务器
  12. poi设置excel表格边框
  13. java 校验银行卡号_Java之——基于Luhn算法的银行卡卡号的格式校验
  14. 访问本地环境时出现The requested URL / was not found on this server.
  15. Access Violation(非法访问)解析
  16. 微信客户端如何发只有纯文字 不带图片的朋友圈动态
  17. [语录]足球解说员贺炜语录
  18. ECharts动态图表展示
  19. 【kimol君的无聊小发明】—用python插入独创性声明
  20. 为什么文件路径 Program Files 可以写成 Progra~1

热门文章

  1. 取出Cookie中的中文显示乱码解决方法。经验证第三种方法有效。
  2. C# 利用ICSharpCode.SharpZipLib.dll 实现压缩和解压缩文件
  3. POJ 3049 DFS
  4. hdu_5894_hannnnah_j’s Biological Test(打表找规律)
  5. Tomcat6.0 管理器配置
  6. powershell ise好字库和diy配色文件分享
  7. memcached学习笔记(1)——memcached原理
  8. 写了一个对象集合排序的类
  9. 【react】 react---项目的-----------简单路由配置
  10. 使用寻路算法写的一个小项目