js 数据类型的判断
1. typeof 运算符
typeof 可以判断基本数据类型:
typeof 123; // "number"
typeof 'abc'; // "string"
typeof true; // "boolean"
碰到复合数据类型的情况:
typeof {}; // "object"
typeof []; // "object"
var f = function(){};
typeof f; //'function'
特殊情况:
1.typeof null; // "object" 这是历史遗留问题,不做深究,是个隐藏的坑
2. typeof undefined; (undefined指未定义的变量)// “undefined”
利用这个特点 用于判断语句
if (v) {
// ...
}
// ReferenceError: v is not defined
// 正确的写法
if (typeof v === "undefined") {
// ...
}
综上,利用typeof 得到值就有"number","string","boolean","object","function","undefined" 这6个值
2. instanceof 运算符
对于对象和数组这种数据,利用typeof不能区分,这时候需要用到instanceof 运算符
var o = {};
var a = [];
o instanceof Array // false
a instanceof Array // true
js 数据类型的判断的更多相关文章
- js数据类型的判断方法
判断js中的数据类型有一下几种方法:typeof.instanceof. constructor. prototype. $.type()/jquery.type(),接下来主要比较一下这几种方法的异 ...
- JS数据类型的判断
在 ECMAScript 规范中,共定义了 7 种数据类型,分为 基本类型 和 引用类型 两大类,如下所示: 基本类型:String.Number.Boolean.Symbol.Undefine ...
- js数据类型及判断数据类型
众所周知,js有7种数据类型 1. null 2. undefined 3. boolean 4. number 5. string 6. 引用类型(object.array.function) 7. ...
- 前端基础——js数据类型及判断方法
一.数据类型 我们通常熟知的数据类型有六种,包括5种基本数据类型(Number, String, Boolean, Undefined, Null)和一种引用数据类型(Object).ES6又新增了一 ...
- js数据类型之判断
js有几种类型,具体是:字符串(String).数字(Number).布尔(Boolean).数组(Array).对象(Object).空(Null).未定义(Undefined). js提供了typ ...
- 实现 js 数据类型的判断函数type
type = (obj) => { const pass1 = typeof obj if (pass1 != 'object') return pass1 const pass2 = obj ...
- js中的数据类型和判断数据类型
js中的数据类型和判断数据类型 基本数据类型,六大基本数据类型:字符串(String).数字(Number).布尔(Boolean).对象(Object).空(Null).未定义(Undefined) ...
- 正确判断js数据类型 总结记录
正确判断js数据类型 总结记录 判断js中的数据类型有一下几种方法:typeof.instanceof. constructor. prototype. 三方库. js六大数据类型 number: 数 ...
- 浏览器解析js和type判断数据类型
### 浏览器解析: - 1.当浏览器(内核.引擎)解析和渲染js的时候,会给js提供一个运行的环境,这个环境叫做“全局作用域(后端global / 客服端window scope)” - 2.代码自 ...
随机推荐
- python pandas(ix & iloc &loc)
python pandas(ix & iloc &loc) loc——通过行标签索引行数据 iloc——通过行号索引行数据 ix——通过行标签或者行号索引行数据(基于loc和iloc ...
- nuros安全报告
We believe that great technology should benefit everyone. Self-driving vehicles promise to save live ...
- bloomberg learning
https://libguides.ust.hk/c.php?g=208028&p=1372192 Introduction to Bloomberg Professional Bloombe ...
- 学习前端第一天心得体会(初步了解HTML5的新特性以及和HTML的区别)
一.HTML5是什么? HTML5 是最新的 HTML 标准. HTML5 是专门为承载丰富的 web 内容而设计的,并且无需额外插件. HTML5 拥有新的语义.图形以及多媒体元素. HTML5 提 ...
- 阶段3 3.SpringMVC·_05.文件上传_2 文件上传之传统方式上传代码回顾
先创建表单 enctype选择multipart/form-data 把表单分成几个部分 导入对应的包 解析request拿到上传的文件对象 拿到某个路径的绝对路径 以后什么异常全抛出,改成Excep ...
- openstack共享组件--rabbitmq消息队列(1)
一.MQ 全称为 Message Queue, 消息队列( MQ ) 是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们. 消息传 ...
- for循环使用
cat > a.sh <<EOF #!/bin/bash export NODE_NAMES=(kube-test1 kube-test2 kube-test3 kube-test4 ...
- Powershell重命名文件夹
$TargetFolder = "F:\Code\优化后\" $folders = get-childitem $TargetFolder -forceForeach ($Fold ...
- 小程序onLaunch事件的坑
记一个小程序踩过的坑 小程序项目中app.js里面定义了globalData,即全局变量,里面定义了一个token字段 需求是这样的,每次进入小程序的时候需要检验该token有没有,没有就请求后台获取 ...
- jmeter响应数据中文乱码处理
1.在jmeter的bin目录下找到 jmeter.properties 文件并打开 2.搜索关键字 “default.encoding”,将1084行(以搜索到的位置为准)改成下图所示:samp ...