JavaScript: 使用typeof和instanceof操作符检测数值类型和引用类型变量
来源:互联网 发布:银行家算法实验总结 编辑:程序博客网 时间:2024/05/16 06:57
typeof
ECMAScript是松散类型的,一次需要一种手段来检测给定变量的数据类型,typeof操作符(注意不是函数哈!)就是负责提供这方面信息的,typeof 可以用于检测基本数据类型和引用数据类型。
语法格式如下:
typeof variable
返回6种String类型的结果:
- "undefined" - 如果这个值未定义
- "boolean" - 如果这个值是布尔值
- "string" - 如果这个值是字符串
- "number" - 如果这个值是数值
- "object" - 如果这个值是对象或null
- "function" - 如果这个值是函数
示例:
console.log(typeof 'hello'); // "string"console.log(typeof null); // "object"console.log(typeof (new Object())); // "object"console.log(typeof(function(){})); // "function"
typeof主要用于检测基本数据类型:数值、字符串、布尔值、undefined, 因为typeof用于检测引用类型值时,对于任何Object对象实例(包括null),typeof都返回"object"值,没办法区分是那种对象,对实际编码用处不大。
instanceof
在检测基本数据类型时typeof是非常得力的助手,但在检测引用类型的值时,这个操作符的用处不大,通常,我们并不是想知道某个值是对象,而是想知道它是什么类型的对象。此时我们可以使用ECMAScript提供的instanceof操作符。
语法格式如下:
result = variable instanceof constructor
返回布尔类型值:
- true - 如果变量(variable)是给定引用类型的实例,那么instanceof操作符会返回true
- false - 如果变量(variable)不是给定引用类型的实例,那么instanceof操作符会返回false
示例:
function Person(){}function Animal(){}var person1 = new Person();var animal1 = new Animal();console.log(person1 instanceof Person); // trueconsole.log(animal1 instanceof Person); // falseconsole.log(animal1 instanceof Object); // trueconsole.log(1 instanceof Person); //false
根据规定,所有引用类型的值都是Object的实例。因此,在检测一个引用类型值和Object构造函数时,instanceof操作符会始终返回true。如果使用instanceof 操作符检测基本类型值时,该操作符会始终返回false,因为基本类型不是对象。
如果要做一个更加完整的检验,需要使用typeof和instanceof结合使用。
如果要做一个更加完整的检验,需要使用typeof和instanceof结合使用。
阅读全文
1 0
- JavaScript: 使用typeof和instanceof操作符检测数值类型和引用类型变量
- JS类型检测(typeof和instanceof)
- ECMA typeof和instanceof操作符返回类型
- JavaScript之检测类型(typeof与instanceof)
- javascript typeof和instanceof操作符的用法和含义
- Javascript typeof 和instanceof
- TypeScript 强制类型转换和类型判断 typeof,instanceof
- javascript类型判断 typeof instanceof constructor
- javascript类型判断 typeof instanceof constructor
- javascript类型判断(typeof instanceof ,toStirng.call())
- javaScript 中 typeof 和 instanceof
- JavaScript中的typeof和instanceof
- javascript中,typeof和instanceof
- JavaScript 中的typeof 和 instanceof
- JavaScript的typeof和instanceof
- js中的类型判断typeof、instanceof、constructor和prototype
- [Postgresql] 数值类型和字符串类型引用
- JavaScript: * JavaScript:基本使用: * ECMAScript: * 变量:弱变量类型: var i; * 数据类型:原始类型和引用类型.
- (3)过滤器
- SQL入门经典(第5版)第九章 汇总查询得到的数据
- 自己动手封装一个url参数解释器( ghostWuUrlParser.js )
- 嵌入式系统基础及知识及接口技术总结
- 模板
- JavaScript: 使用typeof和instanceof操作符检测数值类型和引用类型变量
- centos6.x新增用户
- 灰度图像--形态学处理(腐蚀,膨胀,开、闭运算,顶帽(礼帽),低帽(黒帽),测定腐蚀、测地膨胀,形态学重建)
- 3DSlicer31:结构的实例分析IGSReader
- 协议森林
- c 语言之fork() 函数用法
- 张成的日常问题整理(新)
- ROS学习基础例子出现的问题(上)
- Android 中Freelien插件使用