强制类型转换
将一个数据类型转换为其他的数据类型
-类型转换主要指,将其他的数据类型,转换为
String Number Boolean
String
将其他的数据类型转化为String
方式一:-调用被转化数据类型的toString()方法
-该方法不会影响原变量,它会将转化的结果返回
-null和undefined没有toString方法
方式二:-调用String()函数,将a转换为字符串
var a =132;
a=String(a);
//调用a的toString()方法
b=a.toString;
console.log(typeof a);
console.log(a);
console.log(typeof b);
Number
转化方式:
方式一:使用Number()函数
字符串–>数值
1.如果是纯数字字符串,则将其直接转化为数字
2.如果字符串中有非数字的内容,则转化为NaN
3.如果字符串是空串或者全是空格的字符串
布尔-->数字
true=1;false=0;
null-->数字 0
undefined-->NaN
a=Number(a);
a =true;
a=Number(a);
console.log(typeof a);
console.log(a);
专门转化字符串
-parseInt()把第一个字符串转化为整数,将一个字符串中的有效整数内容读取出来,然后转化为Number
-parseFloat()把第一个字符串转化为浮点数
var b="132px";
b=parseInt(b);
console.log(typeof b);
console.log(b);
var c="132.321px";
c=parseFloat(c);
console.log(typeof c);
console.log(c);
Boolean
使用Boolean(),除了0和NaN,其余都是true;
进制转化
十六进制:以0x开头
var a=123;
a=0xff;
八进制:以0开头
var b;
b=012;
如果要表示2进制的数字,则需要以0b开头
var c;
b=0b1;
可以在parseInt(a,8)后加一个数字转化为其他进制
var a="070";
parseInt(a,8);
算数运算符(p15)
+
任何值和字符串相加都会转化为字符串
可以利用这个方法将数字转化为字符串
a=a+"";
console.log(typeof a);
a=null;
a=a+"";
console.log(typeof a);
b="1"+2+3;
c=1+2+"3";
console.log(b);
console.log(c);
一元运算符(p16)
// + 正号 不会对数字产生影响
// 可以对其他数据类型使用正号转化为Number
// - 负号 可以对数字进行符号的取反
var a=123;
a="18";
a=+a;
console.log(a);
console.log(typeof a);
自增自减运算符(p17)
a++和++a
a++,++a都对a进行了运算,但是a++是原值,++a是a+1;
a–和--a
var a,b;
a=10;
b=a++;
console.log(b++);
a=10;
var c=a++ + ++a +a;
console.log(c);
逻辑运算符
! 非 - 对布尔值进行取反操作
- 对非布尔值,先转换再取反
- 利用!!来将变量转化为布尔值
例如:
var b=10;
b=!b;
console.log(b);
非布尔值的运算(p20)
&& || 非布尔值的情况
- 对于非布尔值进行与或运算时,会将其转换为布尔值,然后再运算,并且返回原值
//true &&true
// 与运算:如果两个值都为true,则返回后边的
var result1 =3&&2;
var result2 =2&&3;
console.log(result1);
console.log(result2);
// false &&true;
// 如果有一个false则返回false;
var result1 =3&&0;
var result2 =0&&3;
console.log(result1);
console.log(result2);
false &&true;
// 如果有一个false则返回false;
var result1 =NaN&&0;
var result2 =0&&NaN;
console.log(result1);
console.log(result2);
true||true
如果第一个值为true,则直接返回第一个值
如果第一个值为false,则直接返回第二个值