JavaScript之数据类型转换——强制转换
2016-04-05 22:05
441 查看
JavaScript是一种弱类型语言。
特点:1.声明变量时不需要提前指定数据类型。
2.同一个变量可先后保存不同的数据类型。
3.js会自动根据自身需要自动类型转换。
var a=1; var b=true; var c="string"; console.log(a+b);//2 console.log(a+c);//"1string"
具体的转换方式会在运算符中逐一说明。
强制转换
程序员主动调用函数,完成的类型转换。任意类型转为String类型
输出时或需要转为字符串时使用。方法一:
x.toString();//x为需要转为字符串的值,以下如无特殊说明,均指同一个含义。
注意:null和undefined没有toString方法,因为null和undefined没有包装类型。
方法二:
String(x);
所有都可以转为字符串,包括null和undefined。
实际上String()与toString()是调用关系:
function String(x){ if(x===undefined){ return "undefined"; }else if(x===null){ return "null"; }else{ return x.toString(); } }
注:“===”是全等符号,读作“全等于”,在后面运算符中会具体说。
x.toString()与x.valueOf()的区别
1.valueOf从对象中获取封装的值,所得到的不一定是字符串类型。
2.toString一定返回字符串类型。
3.valueOf在计算是,自动调用,属于隐式转换。
任意类型转为Number类型
方法一:Number(x);
相当于隐式转换,仅支持纯数字组成的内容或bool类型。
Number("123")=123 Number(true)=1
几个特殊的:
Number("")=0 Number(" ")=0 Number([])=0
方法二:
parseFloat(str);
专门读取字符串前面的数字部分(自动过滤最开始的空字符),不能转bool类型。
parseFloat("123")=123 parseFloat("23string")=23 parseFloat(" 123asd")=123 parseFloat(" 12 3asd")=12 parseFloat(true)=NaN
如果转不了:返回NaN。
Number("JavaScript")=NaN
NaN —— Not a Number.
NaN无效的数字类型值。
NaN如果做算数计算,永远返回NaN。
NaN不大于,不小于,不等于任何值。
任意类型转Boolean类型
Boolean(x);
只有五个值会转为false,其余的都转成true.
转为false的值为:0 , “” , NaN , null , undefined
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 我是运营,我没有假期
- 最后一次说说闭包
- Ajax
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Redux系列02:一个炒鸡简单的react+redux例子
- JavaScript 各种遍历方式详解