JS中的instanceof和typeof,以及特殊引用类型
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,以及特殊引用类型的更多相关文章
- JS中的instanceof和typeof
原文链接:http://hi.baidu.com/pryzjvvpkkbhjyq/item/440fb91cda5cb90b8ebde43f typeof用以获取一个变量的类型 语法:typeof a ...
- 推断js中的类型:typeof / instanceof / constructor / prototype
怎样推断js中的类型呢,先举几个样例: var a = "jason"; var b = 123; var c = true; var d = [1,2,3]; var e = n ...
- Js中常用知识点(typeof、instanceof、动态属性、变量作用域)
1.Js中各类型的常量表示形式:Number:number String:string Object:objec 2.typeof运算符在Js中的使用:用于判断某一对象是何种类型,返回值 ...
- JavaScript高级程序设计(五): js的关键字instanceof和typeof使用
JavaScript中instanceof和typeof 常用来判断一个变量是否为空,或者是什么类型的.但它们之间还是有区别的: 一.typeof 1.含义:typeof返回一个表达式的数据类型的字符 ...
- 浅谈js中的数据类型,使用typeof获取js数据类型
JS中的数据类型 1):Undefined——值未定义 注:Undefined类型只有一个值,即特色的undefined.在使用var声明变量但未对其加以初始化时,这个变量的值就是undefined ...
- js中的instanceof运算符
概述 instanceof运算符用来判断一个构造函数的prototype属性所指向的对象是否存在另外一个要检测对象的原型链上 语法 obj instanceof Object;//true 实例obj ...
- JS中的两种数据类型以及实现引用类型的深拷贝
一.前言 我们知道,在JS中数据类型按照访问方式和存储方式的不同可分为基本类型和引用类型.基本类型基本类型有String.Boolean.Number,Undefined.Null,这些基本类型都是按 ...
- js中null, undefined 和 typeof
参考自:http://www.cnblogs.com/wicub/p/3442891.html typeof 是运算符,注意不是函数,是运算符,其作用,是考察变量究竟是什么类型.或曰,是变量是否定义或 ...
- JavaScript中instanceof与typeof运算符的用法及区别详细解析
JavaScript中的instanceof和typeof常被用来判断一个变量是什么类型的(实例),但它们的使用还是有区别的: typeof 运算符 返回一个用来表示表达式的数据类型的字符串. typ ...
随机推荐
- (转)php读取文件使用redis的pipeline导入大批量数据
第一次写博客,哈哈,纯属用来记录一下自己工作中遇到的问题及解决办法. 昨天因为工作的需求,需要做一个后台上传TXT文件,读取其中的内容,然后导入redis库中.要求速度快,并且支持至少10W以上的数据 ...
- Mysql千万级大表优化
Mysql的单张表的最大数据存储量尚没有定论,一般情况下mysql单表记录超过千万以后性能会变得很差.因此,总结一些相关的Mysql千万级大表的优化策略. 1.优化sql以及索引 1.1优化sql 1 ...
- mkdir npm
mkdir -p 创建目录 没有就创建 有就用 npm init -y 不提示创建package.json 文件
- MySQL多实例的环境下,服务器端本地连接到指定实例的问题(sock方式连接)
涉及到sock连接的问题. 为了测试MySQL的某些个特性,在一个机器上安装了多个MySQL的实例,如下截图,有两个实例,一个端口是8000,一个端口是8001.在使用mysql -uroot -p ...
- 最大化系统并发连接数.Windows.reg
最大化系统并发连接数.Windows.reg Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro ...
- vlookup 公式使用及常见问题
该函数的语法规则如下: VLOOKUP(lookup_value,table_array,col_index_num,range_lookup) 参数 简单说明 输入数据类型 lookup_value ...
- install django采坑
1. install python 3 2. install pip 3. install virtual enviroment : python -m venv myvenv 4. 切换到virt ...
- MFC新建工程中目录包含中文,资源文件打开失败
※尽量不适用中文,各种未知错误,嘿嘿 此方法临时解决问题,可以使程序运行,后续是否还有错误是未知数 需要修改3处位置: 1.资源文件中.rc 右键,点击“查看代码”,找到带中文的资源ID,把中文修改掉 ...
- React—Native开发之 Could not connect to development server(Android)解决方法
作为初学者昨天还好好能跑的项目今天就会遇到突然爆红出错是经常的事,让我们来看下是什么错吧 先来翻译: 连接不到开发的服务器. 请按照以下的步骤来修复此问题: 确保包服务器在运行确保你的设备或者模拟器连 ...
- C语言典型编程2
关于C的一些小而精的编程,适合希望提升编程能力的初学者学习:关键编程也就几句,但思维可以迁移到其他编程语言.同一问题,算法多种. //任意整数的任意次方取后3位(算数取位)#include<st ...