摘要:简介语言的每一个值,都属于某一种数据类型原始类型特殊值复杂类型判断值的类型运算符运算符可以返回一个值的数据类型。由于历史原因,的类型是运算符运算符返回一个布尔值,表示对象是否为某个构造函数的实例。
简介
JavaScript 语言的每一个值,都属于某一种数据类型
原始类型
boolean
number
string
特殊值
undefined
null
复杂类型
object
array
function
判断值的类型1.typeof 运算符
typeof 运算符可以返回一个值的数据类型。
typeof true // "boolean" typeof 100 // "number" typeof "Hello World" // "string" var fn = function() { console.log(str); } typeof fn // "function" var u; typeof u // "undefined" // 由于历史原因,null 的类型是 object typeof null // "object" typeof window // "object" typeof {} // "object" typeof [] // "object"
2.instanceof 运算符
instanceof 运算符返回一个布尔值,表示对象是否为某个构造函数的实例。
instanceof 运算符的左边是实例对象,右边是构造函数。它会检查右边构建函数的原型对象(prototype),是否在左边对象的原型链上。
// instanceof 运算符只能用于对象,不适用原始类型的值以及undefined,null var s = "hello" s instanceof String // false
instanceof 的用处
var x = [1, 2, 3]; var y = {}; var date = new Date(); x instanceof Array // true y instanceof Object // true date instanceof Date // true
3.Object.prototype.toString 方法
Object.prototype.toString.call(value)
数值:返回[object Number]。
字符串:返回[object String]。
布尔值:返回[object Boolean]。
undefined:返回[object Undefined]。
null:返回[object Null]。
数组:返回[object Array]。
arguments 对象:返回[object Arguments]。
函数:返回[object Function]。
Error 对象:返回[object Error]。
Date 对象:返回[object Date]。
RegExp 对象:返回[object RegExp]。
其他对象:返回[object Object]。
Object.prototype.toString.call(1) // "[object Number]" Object.prototype.toString.call("") // "[object String]" Object.prototype.toString.call(true) // "[object Boolean]" Object.prototype.toString.call(undefined) // "[object Undefined]" Object.prototype.toString.call(null) // "[object Null]" Object.prototype.toString.call(Math) // "[object Math]" Object.prototype.toString.call({}) // "[object Object]" Object.prototype.toString.call([]) // "[object Array]"
利用这个特性,可以写出typeof运算符更准确的类型判断函数
var type = function (o){ var s = Object.prototype.toString.call(o); return s.match(/[object (.*?)]/)[1].toLowerCase(); }; type({}); // "object" type([]); // "array" type(5); // "number" type(null); // "null" type(); // "undefined" type(/abcd/); // "regex" type(new Date()); // "date"
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/97724.html
摘要:一抽象数据类型,缩写为是计算机领域一种很基础的方法,基本的思想就是数据抽象。二抽象数据类型的概念和描述抽象数据类型把数据定义为抽象的对象集合,只为他们定义可用的操作,而不用暴露具体的实现细节。 文章首发于公众号一件风衣(ID:yijianfengyi) 名人名言强调基础的重要性的句子不胜枚举,数据结构与算法作为计算机专业的必学科目,其重要性不言而喻。 在以往的教学体系中,数据结构与算法...
摘要:目录语句变量小结基本语法一是核心知识点的基本语法的第一部分,主要介绍了语句表达式变量和数据类型不包括函数类型的基本知识点,函数类型将在下一章函数二中详细探讨语句程序的执行是由一条条语句组成的每一条语句是为完成特定任务而执行的操作语句当中可以 目录 1. 语句 2. 变量 3. 小结 JavaScript基本语法(一)是JavaScript核心知识点(ECMAScript)的基本语法的...
摘要:数据类型类型转换数值类型数值类型序列类型不同于的自增长,和都是序列的方式创建使用创建序列关联列表架构模式名称类型拥有者数据表数据表序列数行记录数据 数据类型 showImg(https://segmentfault.com/img/bVbi9mw?w=750&h=379);showImg(https://segmentfault.com/img/bVbi9mz?w=729&h=626)...
阅读 1771·2021-11-25 09:43
阅读 15322·2021-09-22 15:11
阅读 2623·2019-08-30 13:19
阅读 2009·2019-08-30 12:54
阅读 1815·2019-08-29 13:06
阅读 923·2019-08-26 14:07
阅读 1612·2019-08-26 10:47
阅读 3027·2019-08-26 10:41