我们知道在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中如何判断一个值的类型,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# js
# 判断值类型
# JavaScript中值类型和引用类型的区别
# JS正则表达式匹配检测各种数值类型(数字验证)
# JavaScript基本数据类型及值类型和引用类型
# javascript限制文本框输入值类型的方法
# JavaScript中的值类型转换介绍
# JavaScript中的值类型详细介绍
# js中的值类型和引用类型小结 文字说明与实例
# JavaScript中值类型与引用类型实例说明
# 运算符
# 小编
# 的说
# 在此
# 布尔值
# 中有
# 我们可以
# 给大家
# 可以看出
# 我们必须
# 它会
# 或者其他
# 可以帮助
# 所述
# 给我留言
# 值为
# 不适用
# 感谢大家
# 不足之处
# 如何判断
相关文章:
如何用免费手机建站系统零基础打造专业网站?
视频网站app制作软件,有什么好的视频聊天网站或者软件?
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
如何基于云服务器快速搭建个人网站?
实惠建站价格推荐:2025年高性价比自助建站套餐解析
孙琪峥织梦建站教程如何优化数据库安全?
建站主机是什么?如何选择适合的建站主机?
盐城做公司网站,江苏电子版退休证办理流程?
如何快速使用云服务器搭建个人网站?
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
潮流网站制作头像软件下载,适合母子的网名有哪些?
建站主机服务器选购指南:轻量应用与VPS配置解析
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
如何在Golang中处理模块冲突_解决依赖版本不兼容问题
建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析
音乐网站服务器如何优化API响应速度?
建站之星ASP如何实现CMS高效搭建与安全管理?
浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?
如何选择高效响应式自助建站源码系统?
简易网站制作视频教程,使用记事本编写一个简单的网页html文件?
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
自助网站制作软件,个人如何自助建网站?
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
建站DNS解析失败?如何正确配置域名服务器?
正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?
南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?
c# Task.ConfigureAwait(true) 在什么场景下是必须的
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
娃派WAP自助建站:免费模板+移动优化,快速打造专业网站
制作网站的软件免费下载,免费制作app哪个平台好?
如何在局域网内绑定自建网站域名?
,制作一个手机app网站要多少钱?
清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?
建站之星安装路径如何正确选择及配置?
如何高效完成自助建站业务培训?
建站VPS能否同时实现高效与安全翻墙?
建站之星后台密码如何安全设置与找回?
如何在景安云服务器上绑定域名并配置虚拟主机?
网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?
非常酷的网站设计制作软件,酷培ai教育官方网站?
python的本地网站制作,如何创建本地站点?
如何在新浪SAE免费搭建个人博客?
如何用腾讯建站主机快速创建免费网站?
如何在万网自助建站平台快速创建网站?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
再谈Python中的字符串与字符编码(推荐)
建站之星如何快速解决建站难题?
如何续费美橙建站之星域名及服务?
如何批量查询域名的建站时间记录?
*请认真填写需求信息,我们会在24小时内与您取得联系。