最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

JavaScript中如何判断一个值的类型

来源:懂视网 责编:小采 时间:2020-11-27 22:30:08
文档

JavaScript中如何判断一个值的类型

JavaScript中如何判断一个值的类型:我们知道在js中有一个运算符可以帮助我们判断一个值的类型,它就是typeof运算符。 console.log(typeof 123); //number console.log(typeof '123'); //string console.log(typeof true); //boolean console.log(t
推荐度:
导读JavaScript中如何判断一个值的类型:我们知道在js中有一个运算符可以帮助我们判断一个值的类型,它就是typeof运算符。 console.log(typeof 123); //number console.log(typeof '123'); //string console.log(typeof true); //boolean console.log(t

我们知道在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中如何判断一个值的类型,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

JavaScript中如何判断一个值的类型

JavaScript中如何判断一个值的类型:我们知道在js中有一个运算符可以帮助我们判断一个值的类型,它就是typeof运算符。 console.log(typeof 123); //number console.log(typeof '123'); //string console.log(typeof true); //boolean console.log(t
推荐度:
标签: 判断 js 类型
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top