javascript数据类型判断及数据隐式和显示转换
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript数据类型判断及数据隐式和显示转换,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2782字,纯文字阅读大概需要4分钟。
内容图文
数据类型判断
数据类型有 number string boolean null undefined function object 这些,那如何去判断数据对应的是哪种类型呢
typeof可以判断对应数据类型 写法: typeof data 或者 typeof(data) , 一般习惯写后面这种
返回值有 number string boolean object undefined function 这些
代码如下:
console.log(typeof(123)) //number console.log(typeof(‘true‘)) //string console.log(typeof(true)) //boolean console.log(typeof(null)) //object console.log(typeof(undefined)) //undefined console.log(typeof({})) //object console.log(typeof([])) //object console.log(typeof(NaN)) //number console.log(typeof(function(){})) //function console.log(typeof(a)) //undefined a未定义也不会报错
其中对于数组和对象无法区分,可以用 instanceof 去判断
console.log([] instanceof Array) // true console.log({} instanceof Array) // false
如果只用其中一种方法就可以判断,则需要通过 toString() 方法,对 对象原型调用 toString()方法,通过改变this指向来获得对应的类型,如下
console.log(Object.prototype.toString.call(‘123‘)) //[object String] console.log(Object.prototype.toString.call({})) //[object Object] console.log(Object.prototype.toString.call([])) //[object Array] console.log(Object.prototype.toString.call(123)) //[object Number] console.log(Object.prototype.toString.call(true)) //[object Boolean] console.log(Object.prototype.toString.call(null)) //[object Null]
但是对undefined类型会报错,所以undefined类型只有在typeof方法中才不会报错
数据显示转换
显示转换number, number转换有Number() parseInt() parseFloat() 方法
console.log(Number(‘123‘)); //123 console.log(Number(true)); //1 console.log(Number(false)); //0 console.log(Number(NaN)); //NaN console.log(Number(‘abc‘)); //NaN console.log(Number(undefined)); //NaN console.log(parseInt(‘123abc‘)) //123 只为变成整形,只看数字位,直到非数字位就截断 console.log(parseInt(‘abc‘)) //NaN console.log(parseInt(true)) //NaN console.log(parseInt(10, 16)) //16 表示10为基底,这是16进制,转为10进制 console.log(parseFloat(‘100.2‘)) //100.2 只为转换为浮点型 console.log(parseFloat(‘100.2abc‘)) //100.2 console.log(parseFloat(‘100.2.3‘)) //100.2
其它
String() 显示转换字符串
Boolean() 显示转换布尔值
toSting() 转换字符串 undefined和null不能用toString()
var a = 10 console.log(a.toString()) //123 console.log(a.toString(2)) //1010 表示以a为基底,转为2进制 console.log(a.toString(16)) //a 表示以a为基底,转为16进制
数据隐式转换
// isNaN() console.log(isNaN(123)) //false console.log(isNaN(‘123‘)) //false console.log(isNaN(‘abc‘)) //true 先隐式转换成Number类型// + - / % * console.log(+‘123‘) //123 number类型 console.log(false < 1) //true console.log(2 < 1 < 3) //true 2 < 1为false flase < 3为true console.log(2 < 3 < 1) //false 2 < 3为true true < 1为false console.log(undefined < 0) //false console.log(undefined > 0) //false console.log(undefined == 0) //false console.log(null < 0) //false console.log(null > 0) //false console.log(null == 0) //false console.log(undefined == null) //true
不发生隐式转换
// === 全等 !== 全不等 console.log(‘123‘ === 123) //false
end !!!
原文:https://www.cnblogs.com/lyjfight/p/13306818.html
内容总结
以上是互联网集市为您收集整理的javascript数据类型判断及数据隐式和显示转换全部内容,希望文章能够帮你解决javascript数据类型判断及数据隐式和显示转换所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。