js中的类型转换
2018-06-24 01:48:38来源:未知 阅读 ()
先介绍一下 typeof 的使用方法:
typeof(mix) 或者 typeof mix
其中 mix 可以是任何数据类型
js有六种数据类型:
五种简单数据类型,又叫基本数据类型,分别为:Number,String,Boolean,Null,Undefined;
一种基本数据类型:Object
typeof 的返回值有六种:
number、string、boolean、object、 function和underfined
注意:返回值是一个字符串类型
特别的:
- typeof(null)==="object";//true
- typeof(NaN)==="number";//true
类型转换:
一、显示类型转换
- Number(mix) :把mix转化成数字类型 可以转为数字的就转化为相应的数字,不能转化的就转为NaN 其中:
Number(true) //1;Number(false)//0;Number(null) //0;Number(undefined) //NaN - parseInt(mix,radix) :把mix转化成整数 除了数字和能转化为数字的字符串,其他都转化为NaN,当mix为字符串时,则从第一位一直到非数字截止,即该方法可以截断 radix是将mix看成radix进制 来进行转化 若有小数部分则是直接去掉
注意:parseInt(true) //NaN; parseInt(false) //NaN;在把字符串转化为数字时,parseInt()可以截断,但Number()不能 =》 parseInt("123qqq")//123;Number("123qqq")//NaN
- parseFloat(number) :转化成 浮点类型 从一位开始看,到除了第一个点以外的非数字位截止
- Boolean(mix) : 转化为boolean类型
- String(mix) :转化为字符串类型
mix.toString(radix) 与String(mix)用法不同 且undefined和null不能使用 mix.toString(); radix是目标值的进制 将mix转化成radix进制。
注:如将二进制10100转化为16进制
过程是 先parseInt()转化为10进制 然后在toString()转化为16进制
var num=10100;
var test=parseInt(num,2);
num.toString(16);
2、隐式类型转化(内部隐式的调用的都是显示类型的方法)
- isNaN():内部隐式调用Number()进行类型转化,再判断Number()返回的值是否是NaN。如:isNaN(null)//false isNaN(underfined)//true
- ++(加加) --(减减) +(正) - (负):内部隐式调用Number()转化后再进行相应计算
- +(加号) 当加号两边有一个是字符串的话,就会调用String,然后进行字符串的拼接
- - * / % 内部隐式调用Number()进行类型后再计算
- <(小于) >(大于) <=(小于等于) >=(大于等于) 字符串和数字比 会调用Number 转化为数字
- == != 1==‘1’//true undefined==null 1>2<3;//true NaN==NaN;//false NaN不等于任何东西 包括本身
- &&(与) ||(或) !(非) && || 虽然有转化 但返回的依然是原值
&&:先看第一个表达式转化成布尔值的值,如果为真,那么看第二个表达式转化为布尔值的值,。。。。依次进行,直到碰到假;如果只有两个表达式,则会在第一个表达式转化为布尔值为真时,直接返回第二个表达式的值;否则返回第一个表达式的值进行赋值
var a = 1 && 2+2;//4
var b = 0 && 2+2;//0
||:与&&类似,但先看第一个表达式转化为布尔值后的值,如果为真,直接返回第一个表达式的值,如果为假,则接着往下进行判断
判断真假只是决定是否接着“往下走”,但返回的仍是其本身的值,而不是转化的布尔值
注: 使用未声明的变量只有一种情况 不报错 就是 typeof(a);//undefined
因为 typeof 返回的是一个字符串 typeof(typeof(a));//String 【面试题】
一些示例:
typeof(a);//undefined
typeof(undefined);//undefined
typeof(NaN);//number
typeof(null);//object
var a="123abc";
typeof(+a);//numberr
typeof(!!a);//boolean
typeof(a+"");//string
1=="1";//true
NaN==NaN;//false
NaN==undefined;//false
''11''+11;//1111
1==='1';//false
parseInt('123abc');//123
typeof(typeof(a));//string
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Javascript中的经典技巧 2020-03-20
- 带你了解JavaScript中的函数 2020-03-08
- 浅谈JS的基础类型与引用类型 2020-02-29
- 默认让页面的第一个控件选中的javascript代码 2020-02-20
- 详谈构造函数加括号与不加括号的区别 2020-01-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash