1、instanceof是用于测试对象类型,通常格式为:a instanceof b,返回true或falise,表示为对象a是否是类型b的实例。

typeof则是用于测试基本类型,包括undefined, null, number, boolean, string, object。通常格式为: typeof a,返回a的类型。

2、对于ECMAScript的三种特殊引用类型:Boolean, Number, String来说,实际上,每当读取一个基本类型值的时候,后台就会创建一个对应的基本包装类型的对象,从而让我妈能够调用一些方法来操作这些数据。例如:

var s1 = "some text";

var s2 = s1.substring(2);

但是要注意,我们不能在运行时给基本类型值添加属性和方法,因为引用类型和基本包装类型的主要区别就是对象的生存期,后者会在执行瞬间后被立即销毁。

他们的instanceof和typeof的返回值也是不同的。例如:

var obj = new Object("some text");

alert(obj instanceof String);    //true

var numberObject = new Number(10);

var numberVlue = 10;

alert(typeof numberObject);  //"object"

alert(typeof numberValue);  //"number"

alert(numberObject instanceof Number);  //true

alert(numberValue instanceof Number);  //false

/*此结果对Number和Boolean类似,这也是为什么我们不推荐使用这两种引用类型。*/

JS中的instanceof和typeof,以及特殊引用类型的更多相关文章

  1. JS中的instanceof和typeof

    原文链接:http://hi.baidu.com/pryzjvvpkkbhjyq/item/440fb91cda5cb90b8ebde43f typeof用以获取一个变量的类型 语法:typeof a ...

  2. 推断js中的类型:typeof / instanceof / constructor / prototype

    怎样推断js中的类型呢,先举几个样例: var a = "jason"; var b = 123; var c = true; var d = [1,2,3]; var e = n ...

  3. Js中常用知识点(typeof、instanceof、动态属性、变量作用域)

    1.Js中各类型的常量表示形式:Number:number     String:string    Object:objec 2.typeof运算符在Js中的使用:用于判断某一对象是何种类型,返回值 ...

  4. JavaScript高级程序设计(五): js的关键字instanceof和typeof使用

    JavaScript中instanceof和typeof 常用来判断一个变量是否为空,或者是什么类型的.但它们之间还是有区别的: 一.typeof 1.含义:typeof返回一个表达式的数据类型的字符 ...

  5. 浅谈js中的数据类型,使用typeof获取js数据类型

    JS中的数据类型 1):Undefined——值未定义 注:Undefined类型只有一个值,即特色的undefined.在使用var声明变量但未对其加以初始化时,这个变量的值就是undefined ...

  6. js中的instanceof运算符

    概述 instanceof运算符用来判断一个构造函数的prototype属性所指向的对象是否存在另外一个要检测对象的原型链上 语法 obj instanceof Object;//true 实例obj ...

  7. JS中的两种数据类型以及实现引用类型的深拷贝

    一.前言 我们知道,在JS中数据类型按照访问方式和存储方式的不同可分为基本类型和引用类型.基本类型基本类型有String.Boolean.Number,Undefined.Null,这些基本类型都是按 ...

  8. js中null, undefined 和 typeof

    参考自:http://www.cnblogs.com/wicub/p/3442891.html typeof 是运算符,注意不是函数,是运算符,其作用,是考察变量究竟是什么类型.或曰,是变量是否定义或 ...

  9. JavaScript中instanceof与typeof运算符的用法及区别详细解析

    JavaScript中的instanceof和typeof常被用来判断一个变量是什么类型的(实例),但它们的使用还是有区别的: typeof 运算符 返回一个用来表示表达式的数据类型的字符串. typ ...

随机推荐

  1. thinkphp5.1 判断是不是post提交

    if(Request::isPost()){ }else{ } 这样就对了

  2. python并发编程基础之守护进程、队列、锁

    并发编程2 1.守护进程 什么是守护进程? 表示进程A守护进程B,当被守护进程B结束后,进程A也就结束. from multiprocessing import Process import time ...

  3. jquery中val属性操作

  4. jenkins登录后页面显示为空的问题

    1.然后再打开一个新的窗口,输入网址http://localhost:8080/jenkins/pluginManager/advanced,输入网址打开后滑动到页面下方,最底下有个[升级站点],把其 ...

  5. editplus注册码

    EditPlus5.0注册码 注册名 Vovan 注册码 3AG46-JJ48E-CEACC-8E6EW-ECUAW EditPlus3.x注册码 EditPlus注册码生成器链接 http://ww ...

  6. phpstudy设置允许远程访问mysql数据库

    1.先在服务器中通过命令行方式(打开phpstudy界面->右下角其他菜单选项->MySQL工具->MySQL命令行) 登录mysql:mysql   -u root -p 密码 ( ...

  7. npm 命令

    npm instal moduleName [-g]  :安装模块,有 -g 或 --global 是全局安装 npm install -g cnpm --registry=https://regis ...

  8. C语言之标准头文件模板

    /*======================================================================================* * 版权 : xxx ...

  9. echarts简单的折线图

    加jar包 <script src="<%=path %>/js/echarts.min.js"></script> 首先 在jsp页面中 选好 ...

  10. HAProxy 的acl应用

    非常好的博文推荐:http://blog.51cto.com/1992tao/1875563 官方文档:https://cbonte.github.io/haproxy-dconv/1.9/confi ...