我们知道在js中有一个运算符可以帮助我们判断一个值的类型,它就是typeof运算符。
console.log(typeof 123); //number console.log(typeof '123'); //string console.log(typeof true); //boolean console.log(typeof undefined); //undefined console.log(typeof null); //object console.log(typeof []); //object console.log(typeof {}); //object console.log(typeof function() {}); //function
我们从以上结果可以看出typeof的不足之处,它对于数值、字符串、布尔值分别返回number、string、boolean,函数返回function,undefined返回undefined,除此以外,其他情况都返回object。
所以如果返回值为object,我们是无法得知值的类型到底是数组还是对象或者其他值。为了准确得到每个值的类型,我们必须使用js中另一个运算符instanceof。下面简单的说一下instanceof的用法。
instanceof运算符返回一个布尔值,表示指定对象是否为某个构造函数的实例。
instanceof运算符的左边是实例对象,右边是构造函数。它会检查右边构造函数的ptototype属性,是否在左边对象的原型链上。
var b = []; b instanceof Array //true b instanceof Object //true
注意,instanceof运算符只能用于对象,不适用原始类型的值。
所以我们可以结合typeof和instanceof运算符的特性,来对一个值的类型做出较为准确的判断。
//得到一个值的类型 function getValueType(value) { var type = ''; if (typeof value != 'object') { type = typeof value; } else { if (value instanceof Array) { type = 'array'; } else { if (value instanceof Object) { type = 'object'; } else { type = 'null'; } } } return type; } getValueType(123); //number getValueType('123'); //string getValueType(true); //boolean getValueType(undefined); //undefined getValueType(null); //null getValueType([]); //array getValueType({}); //object getValueType(function(){}); //function
总结
以上所述是小编给大家介绍的JavaScript中如何判断一个值的类型,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库html" target="_blank">网站的支持!
本文向大家介绍如何判断一个类是无用的类?相关面试题,主要包含被问及如何判断一个类是无用的类?时的应答技巧和注意事项,需要的朋友参考一下 方法区主要回收的是无用的类,那么如何判断一个类是无用的类的呢? 判定一个常量是否是“废弃常量”比较简单,而要判定一个类是否是“无用的类”的条件则相对苛刻许多。类需要同时满足下面 3 个条件才能算是 “无用的类” : 该类所有的实例都已经被回收,也就是 Java 堆
本文向大家介绍JavaScript如何判断input数据类型,包括了JavaScript如何判断input数据类型的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了JavaScript如何判断input数据类型,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在HTML中接收用户输入信息一般都会用到<input/>。我今天本来想实现一个功
本文向大家介绍如何判断一个数组?相关面试题,主要包含被问及如何判断一个数组?时的应答技巧和注意事项,需要的朋友参考一下 参考回答:
问题内容: 在我的项目中,我习惯将字符串转换为,但是如果字符串不是type,它将抛出,那么如何验证该字符串? 问题答案: 您应该使用正则表达式进行验证,例如: 用鸡蛋测试 或带括号
本文向大家介绍js如何判断类型?相关面试题,主要包含被问及js如何判断类型?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 判断方法:typeof(),instanceof,Object.prototype.toString.call()等
本文向大家介绍Javascript如何判断数据类型和数组类型,包括了Javascript如何判断数据类型和数组类型的使用技巧和注意事项,需要的朋友参考一下 这么基础的东西实在不应该再记录了,不过嘛,温故知新~就先从数据类型开始吧 js六大数据类型:number、string、object、Boolean、null、undefined string: 由单引号或双引号来说明,如"string" nu