js中数据的隐式转换
2017-08-23 08:22
148 查看
JavaScript属于弱类型的语言,数据类型转换有两种:隐式转换和显示转换。
隐式转换:程序在运行时进行的自动转换就叫隐式转换。
1、“+”的隐式转换
例子:
注释为输出结果,由例子可以看出,只要有字符串参与,“+”运算会把其他数据类型变成字符串;如果没有字符串,都转为数字计算,boolean里的两个值,true转成1,false转成0。
2、“-”的隐式转换
例子:
由例子可以看出,任何数据类型和减号作运算,都会隐式转为number类型,如果不能自动转换为数字,则会返回NaN。
3、“<”,”>”的隐式转换
例子:
在+运算,其它变量只要碰到字符串就跟碰见僵尸一样,也会变成字符串。但在关系运算中,数字也成了僵尸了,只要字符串和数字比较,字符串会先转成数字再比较,这也是一处隐式转换
最后一条”2a”<3,由于2a不能合理的转成数字,于是就是转成了NaN,这个NaN和任何类型的值做比较,都是fasle。
隐式转换:程序在运行时进行的自动转换就叫隐式转换。
1、“+”的隐式转换
例子:
var num1=1,num2=2; var str="js"; var b1=true,b2=false; console.log(str+num1); //"js1" console.log(str+b1); //"jstrue" console.log(str+num1+num2); //js12; console.log(num1+num2+str); //3js;
注释为输出结果,由例子可以看出,只要有字符串参与,“+”运算会把其他数据类型变成字符串;如果没有字符串,都转为数字计算,boolean里的两个值,true转成1,false转成0。
2、“-”的隐式转换
例子:
var num1 = 20 – 5; var num2 = "20" – "5"; //字符串本身不能减,我的名字减你的名字有什么意思 var num3 = "20a" - "5"; //NaN var num4 = "20" - "5a"; //NaN
由例子可以看出,任何数据类型和减号作运算,都会隐式转为number类型,如果不能自动转换为数字,则会返回NaN。
3、“<”,”>”的隐式转换
例子:
console.log(23 < 3); //false console.log("23"<"3"); //true console.log("23"<3); //false console.log("2a"<3); //false;
在+运算,其它变量只要碰到字符串就跟碰见僵尸一样,也会变成字符串。但在关系运算中,数字也成了僵尸了,只要字符串和数字比较,字符串会先转成数字再比较,这也是一处隐式转换
最后一条”2a”<3,由于2a不能合理的转成数字,于是就是转成了NaN,这个NaN和任何类型的值做比较,都是fasle。
相关文章推荐
- 数据类型回顾——数据类型转换(显式和隐式)—JS学习笔记2015-6-3(第47天)
- js数据类型隐式转换笔记以及js包装对象
- js数据类型隐式转换
- js之数据类型-隐式转换-类型检测 学习总结
- JS数据类型转换
- js 隐式转换 一小坑
- JS 之 数据类型转换
- Oracle数据隐式转换规则
- C++primer 2.1 基本内置类型数据范围、机器级表示、赋值时候的数据类型隐式转换
- PL/SQL中的数据类型隐式转换规则
- JavaScript数据类型之隐式类型转换
- JS的数据类型转换
- JS的类型转换,强制转换和隐式转换
- javascript中数据类型的隐式转换
- JS 数据类型转换主要三种方法
- 【面向JS--数据类型转换】
- javascript的数据类型and隐式转换
- javascript的数据类型and隐式转换
- js数据类型 及转换
- Java数据类型的转换:隐式(自动)转换与强制转换