关于JavaScript中的typeof与instanceof
JavaScript中typeof
和instanceof
可以用来判断一个数据的类型,什么时候选择使用typeof
?什么时候选择使用instanceof
?
typeof
运算符
typeof
运算符返回值有以下几种
- 原始数据类型
typeof 123 // "number"
typeof '123' // "string"
typeof false // "boolean"
- 函数类型
function f() {}
typeof f
// "function"
- undefined
typeof undefined
// "undefined"
var x
typeof x
// "undefined
- Object
typeof window // "object"
typeof {} // "object"
typeof [] // "object"
typeof null // "object
instanceof
运算符
instanceof
是判断变量是否为某个对象的实例,返回值为true或false。
var o = {};
var a = [];
o instanceof Array // false
a instanceof Array // true
a instanceof Object // true
typeof 对数组 [] 和对象 {} 的返回值都是Object,无法区分数组和对象,但是instanceof
可以区分。
对于什么时候该使用typeof
和instanceof
- 当变量可能为undefined的时候使用typeof运算符
alert(typeof undefinedVariable); // alerts the string "undefined"
alert(undefinedVariable instanceof Object); // throws an exception
- 当变量可能为null的时候使用
instanceof
运算符
var myNullVar = null;
alert(typeof myNullVar ); // alerts the string "object"
alert(myNullVar instanceof Object); // alerts "false"
https://www.jianshu.com/p/1216b1f429fb
关于JavaScript中的typeof与instanceof的更多相关文章
- 关于javascript中的typeof和instanceof介绍
typeof用来检测给定变量的数据类型 instanceof用来检测对象的类型 typeof用来检测给定变量的数据类型(也可叫做基本类型,基本数据类型.包含undefined.boolean.stri ...
- JavaScript中的typeof 和instanceof
Js中的instanceof 和typeof的区别 演示1 var v5=new Number("22"); document.write(typeof v5+"< ...
- C#保留2位小数几种场景总结 游标遍历所有数据库循环执行修改数据库的sql命令 原生js轮盘抽奖实例分析(幸运大转盘抽奖) javascript中的typeof和类型判断
C#保留2位小数几种场景总结 场景1: C#保留2位小数,.ToString("f2")确实可以,但是如果这个数字本来就小数点后面三位比如1.253,那么转化之后就会变成1.2 ...
- 浅谈JS中的typeof和instanceof的区别
JS中的typeof和instanceof常用来判断一个变量是否为空,或者是什么类型. typeof typeof运算符返回一个用来表示表达式的数据类型的字符串. typeof一般返回以下几个字符串: ...
- 浅析JavaScript中的typeof运算符
对JavaScript中的typeof运算符进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助. 如果typeof的运算符是数字.字符串或者布尔值,它返回的结果就是"numb ...
- JavaScript 类型判断 —— typeof 以及 instanceof 中的陷阱
JavaScript中基本类型包含Undefined.Null.Boolean.Number.String以及Object引用类型.基本类型可以通过typeof来进行检测,对象类型可以通过instan ...
- javascript中原型链与instanceof 原理
instanceof:用来判断实例是否是属于某个对象,这个判断依据是什么呢? 首先,了解一下javascript中的原型继承的基础知识: javascript中的对象都有一个__proto__属性,这 ...
- JavaScript中的typeof
js中的 typeof 操作符返回一个字符串,表示未经计算的操作数的类型. 其中null.字符串对象.数字对象.布尔对象.日期.数组.正则返回结果都为object,可见typeof返回结果并不精确 测 ...
- JavaScript中的 typeof,null,和undefined
typeof操作符 null 在JavaScript中null表示“什么都没有”. null是一个只有一个值的特殊类型.表示一个空对象引用. typeof null; 返回的是object 可以将nu ...
随机推荐
- 关于visual studio和vc版本之间的对应关系
VC6 VC7: Visual studio.net VC7.1: Visual studio 2003 VC8: Visual studio 2005 VC9: Visual studio 2008 ...
- git配置报错fatal: Authentication failed for ''问题解决
如果在git配置中报错fatal: Authentication failed for '',其实就是凭证失败的意思 接着输入一下命令行没有出现要求输入用户名或密码,并报错 $ git config ...
- 12 Spring Data JPA:orm思想和hibernate以及jpa的概述和jpa的基本操作
spring data jpa day1:orm思想和hibernate以及jpa的概述和jpa的基本操作 day2:springdatajpa的运行原理以及基本操作 day3:多表操作,复杂查询 d ...
- ZJNU 1196 - 三阶魔方【模拟题】——高级
大模拟,空想很容易把面和面之间的关系搞混 所以这时候需要自己找一个正方体(实在不行长方体代替)跟着图把每个面正方向标出来 然后模拟6种操作分别会对哪些块进行操作 对于储存数据的想法是,对输入输出进行分 ...
- Codeforces Round #606 E
题:https://codeforces.com/contest/1277/problem/E 题意:给定无向图,求有多少个pair之间的简单路径一定要经过给定的点a和b(pair中任何一个都不是a或 ...
- springmvc 实现文件上传
1.添加jar包 <dependency> <groupId>commons-io</groupId> <artifactId>commons-io&l ...
- Django中间件-跨站请求伪造-django请求生命周期-Auth模块-seettings实现可插拔配置(设计思想)
Django中间件 一.什么是中间件 django中间件就是类似于django的保安;请求来的时候需要先经过中间件,才能到达django后端(url,views,models,templates), ...
- eclipse安装tfs插件
Eclipse安装TFS插件 1.打开Eclipse.点击菜单栏上的 “Help”——>选择“Install New Software”. 2.在弹出框中输入点击“Add”. 3.在弹出框中 ...
- 把ngnix注册为linux服务 将Nginx设置为linux下的服务
一.创建服务脚本 vim /etc/init.d/nginx 脚本内容如下 #! /bin/sh # chkconfig: - 85 15 PATH=/web/server/nginx/sbin DE ...
- iOS转场弹窗、网易云音乐动效、圆环取色器、Loading效果等源码
iOS精选源码 view controller transition and popover (控制器转场和弹窗) UITableView头部悬停+UITableView侧滑嵌套 一行代码集成时间选择 ...