javascript类型与类型检测
1.javascript类型:

注:包装对象:如“hello”.length实际为js为我们隐式创建了一个String临时对象,去调用该对象的length属性,调用过后再将该临时对象删除。
因此,如果原始类型变量使用.length,.toString()等js属性、方法等,用var str = new String(‘hello’)的效率要优于var str = ‘hello’,因为使用过程中无需再多次建立和删除临时包装对象。
2.javascript类型检测:
(1).typeof:适用于原始类型(除了null)和Function类型
使用方法:例:typeof “hello” 返回 “string”
可检测出类型变量的返回值:“类型”。如“number”,“boolean”
不可检测出类型变量的返回值:“object”
(2).instanceof:基于原型链进行检测。用于对象类型。可用于原生对象和自定义对象。
使用方法:[1,2] instanceof Array 返回 true;
返回值:true / false
自定义对象检测举例:

注:iframe或window之间的自定义对象不可检测。
(3).Object.prototype.toString:适用于基本类型和对象类型。(ie6/7/8无法检测出null和undefined)
使用方法:Object.prototype.toString.apply('a') 返回 "[object String]"
返回值:"[object 类型]"。如"[object Array]","[object Null]"
参考资料:
http://www.imooc.com/video/5677
javascript类型与类型检测的更多相关文章
- 小结 javascript中的类型检测
先吐槽一下博客园的编辑器,太不好用了,一旦粘贴个表格进来就会卡死,每次都要用html编辑器写,不爽! 关于javascript的类型检测,早在实习的时候就应该总结,一直拖到现在,当时因为这个问题还出了 ...
- javascript中的类型检测
最常见的是使用 typeof 来判断数据类型 可以区分4种基本类型,即 “number”,”string”,”undefined”,”boolean”,第5种基本类型null类型返回值为object( ...
- 利用Javascript判断操作系统的类型实现不同操作系统下的兼容性
原文地址 http://www.jb51.net/article/33640.htm 在通过Javascript实现客户端和服务端的交互时,有时候需要对操作系统进行判断,以便实现不同操作系统下的兼容性 ...
- 从头开始学JavaScript (十一)——Object类型
原文:从头开始学JavaScript (十一)--Object类型 一.object类型 一个object就是一系列属性的集合,一个属性包含一个名字(属性名)和一个值(属性值). object对于在应 ...
- javascript学习-基本类型
javascript学习-基本类型 1.概述 javascript的数据类型大体上分两种:基本类型和对象类型.简单的区分就是基本类型是无法再分的原子级类型:对象类型是容器,可以容纳基本类型和对象类型. ...
- JavaScript中值类型与引用类型
JavaScript中的变量类型有哪些? 值类型:字符串(string).数值(number).布尔值(boolean).null.undefined 引用类型:对象(Object).数组(Array ...
- 【你不知道的javaScript 中卷 笔记1】javaScript中的类型与值
一.类型与值 1.0 javaScript 七种内置类型: 空值(null) 未定义(undefined) 布尔值( boolean) 数字(number) 字符串(string) 对象(object ...
- JavaScript获取浏览器类型与版本
从网上找到一段使用JavaScript判断浏览器以及浏览器版本的比较好的代码,在此记录一下: <script type="text/javascript"> var S ...
- JavaScript判断浏览器类型及版本
JavaScript是前端开发的主要语言,我们可以通过编写JavaScript程序来判断浏览器的类型及版本.JavaScript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属性来分辨,另一 ...
- javascript——基本包装类型
<script type="text/javascript"> //1.Boolean 类型 //2.Number 类型 //3.String 类型 //Boolean ...
随机推荐
- 模拟搭建Web项目的真实运行环境(三)
一.解决Redis出现的RDB权限问题 当你在安装redis的时候,如果是使用超级用户root安装, 开启redis服务的时候没有用超级用户去开启, 在用客户端登录redis,然后使用shutdown ...
- jquery input change事件
input输入框的change事件,要在input失去焦点的时候才会触发 $('input[name=myInput]').change(function() { ... }); 在输入框内容变化的时 ...
- sql面试题一 学生成绩
sql面试题一 学生成绩 原帖链接:http://topic.csdn.net/u/20081020/15/1ABF54D0-F401-42AB-A75E-DF90027CEBA0.html 表架 ...
- 《BuildingMachineLearningSystemsWithPython》学习笔记
BuildingMachineLearningSystemsWithPython Python机器学习入门 数据分析五个步骤 读取和清洗数据 探索和理解输入数据[我的理解是业务理解] 分析如何将算法应 ...
- Logistic回归的使用
Logistic回归的使用和缺失值的处理 从疝气病预测病马的死亡率 数据集: UCI上的数据,368个样本,28个特征 测试方法: 交叉测试 实现细节: 1.数据中因为存在缺失值所以要进行预处理,这点 ...
- HDU 2509 Be the Winner nim博弈变形
Be the Winner Problem Description Let's consider m apples divided into n groups. Each group contai ...
- SQL性能学习汇总 00
.在一条语句中不要重复使用相同的函数 .尽可能在存储过程中使用临时变量和临时表 如 IF (Object_ID('tempdb..#T') IS NOT NULL) DROP TABLE #T SEL ...
- Android 控件的显示隐藏上下左右移动动画
一.利用Android提供的左右移动工具类:AnimationUtils 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 LinearLayout ll_fi ...
- Github上安卓榜排名第2的程序员教你如何学习【转载,侵删】
来自:峰瑞资本(微信号:freesvc)文章作者:代码家(微信 ID:daimajia_share) 软件早已吞噬整个世界,程序员是关键角色.过去 40 年中,许多伟大的公司都由程序员缔造,比如比尔· ...
- MyEclipse10的一些问题(git插件,jdk7)
egit: MyEclipse10 要装 egit2.3,版本错了安装不成功; jdk7: 10.5好像是不支持JDK1.7的,换成10.7; JDK1.7中的switch支持String类型的,1. ...