js的类型转换

类型转换
 
强制转换
1.转换为布尔型
语法:
Boolean(arg);
注:
非0数字转换成布尔类型为ture,0转换为布尔类型为fals;
效果:
 
 
 
非空字符串转换成布尔类型为ture,空字符串转换为布尔类型为false;
 
 
 
undefined转换为布尔型为false;
null转换为布尔型为false。
 
 
 
 
2.转换为字符串
语法:
String(ary);
注:
ture转换为字符串仍为true,false转换为字符串仍为false;
null转换为字符串仍为null;
undefined转换为字符串仍为undefined;
效果如下:
 
 
 
 
3.转换为数字
语法:
Number(str)
注:
NaN代表不是数字,但是它是数字类型(没有意义的数字);
非数字字符串转换后都是NaN(NaN是一个不是数字的数字类型);
 
 
 
true转为数字为1,false转为数字为0;
 
 
 
 
undefined转换为数字为NaN;
 
 
null转换为数字为0;
 
 
 
 
 
4.使用函数强制转换为数字
语法:
parseInt(arg) //强制转换为整数
parseFloat(arg) // 强制转换为小数
注:
小数转换为整数只取整数,向下取整;
首位非数字的字符串强转为整数为NaN,首位是数字的字符串强转为整数是首位的数字;
布尔型强转为数字为NaN;
undefined强转为数字为NaN;
null强转为数字为NaN;
 
 
5.使用toString()方法强制转换为字符串,转换结果和String()函数一样
例如:
 
注意:这个方法不能给undefined和null使用。
 
 
隐形转换
1.数学运算时转换为数字型,例:
var str = "100"
var a = str%10; // 乘和除以及求余都行
var b = true + 1
console.log(a); //0
console.log(b); //2

  

2.比较运算时发生隐形转换,例:
如果两个值都是字符串,则进行比较编码值;
如果有一个值为数字或布尔型,则转换为数字进行比较;
字符串进行比较是首字符进行比较,相等再进行后面的字符比较。参考阿斯克码表。
 
 
3.拼接运算时发生字符串转换,例如:
var a = "1";
console.log(a+12); // 112
结果为:122
 
 
逻辑运算
逻辑运算一般用于判断多个关系运算,得出最后结果。
运算符
描述
&&
(与,并且)
左右两边都为true,最后结果才为true,否则就是false
||
(或者)
左右两边只要有一个true,最后结果就为true,否则就是false
(非,取反)
将true处理为false,将false处理为true
 
 
 
 
 
 
 
 
 
 
 
逻辑运算最后得出的结果也是布尔型。
 
 
 
自增自减运算
符号:++ 表示让一个数字递增1
var a = 1;
a++
console.log(a); // 2
 

//++可以放在后面,也可以放到前面表示的意思一样的
var a = 1; ++a; console.log(a); // 2

 

当递增运算碰到赋值或者输出的时候,++放在前面和后就有了区别:
//放在后面:
var a = 1;
console.log(a++); // 1
console.log(a); // 2
var b = 1;
var c = b++;
console.log(c); // 1
console.log(b); // 2
//当++放在后面的时候,就最后进行递增运算,先进行输出或者赋值。

//放在前面:
var a = 1;
console.log(++a); // 2
console.log(a); // 2
var b = 1;
var c = ++b;
console.log(c); // 2
console.log(b); // 2
//当++放在前面的时候,就先进行递增运算, 后进行输出或赋值。

  

符号:-- 表示让一个数字递减1
使用方法和注意事项与递增一样。
递增递减运算需要使用变量,不能使用具体数字

posted @ 2020-03-18 21:18  结发授长生  阅读(161)  评论(0)    收藏  举报