一、转换为String类型
方法一:(不建议使用)toString()方法
好处:该方法可以将大部分的类型转换,比如Number Boolean:
如下:var x=123;var y=x.toString(); //"123"
var x=true; var y=x.toString();//"true"
坏处:在null和undefined中没有该toString()方法,因此无法正常转换,所以我们可以用另外一种方法,如下。
方法二:String()方法
好处:可以将任何一种转换成字符串类型,可以将null和undefined进行转换,如:
var x=null; var y=String(x);// "null"字符
var x=undefined; var y=String(x);//"undefined"字符
⚠️ 加号“+”
我们可直接加上一个空字符“ ”来直接转换成字符串
如var c=null; c=c+" ";那么null将转变为String类的"null";
二、转换为Number类型
方法一:
(1)当是直接的数字字符串时,则可以直接转换为Number
var x="123"; var y =Number(x);//123
(2)当数字字符串里面包含其他非数字的时候,如果直接用Number()会将其转换为NaN
var x="123abc";var y=Number(x);//NaN
(3)如果是在一个空字符串或者全是空格的字符串,则会返回0
(4)Boolean值转换为Number,则会将布尔值转换为数字
var x=true; var y=Number(x);//1
相反false则转换为0
(5)对于null和undefined则会将其转换为数字
var x=null; var y=Number(x);//0
var x=undefined; var y =Number(x);//NaN
方法二:对于数字字符串里面包含其他字符的方法
则使用parseInt()和parseFloat()
var x="123abc"; var y=parseInt(x);//123
var x="123.123abc"; var y=parseFloat(x);//123.123
三、转换为Boolean值
(1)数字转换:
除了0和NaN,其余转换为true
var x=123; var y=Boolean(x);//true
var x=0; var y=Boolean(x);//false
(2)字符串转换
除了空串,其余都为true
(3)null和undefined
其值都将转换为false
(4)对象object
其值都将转换为true
四、算数运算符
(1)对于(字符串的加法运算)非Number类型的值进行运算,都将其转换为数字,再进行运算,如
var x=true +false;//1+0=1
(2)任何值与NaN运算都会是NaN
var x=2+NaN;//NaN
(3)如果是字符串的加法运算,则会是直接拼接
var x="abc"+"def";// abcdef
(4)任何值与字符串相加,都会先转换为字符串,然后拼接;
(5)对于其他的,如减法,乘法,除法都将其转换为Number
五、一元运算符 负(-)号和正号(+)
对于非数字的类型,在前面加上一个正号和负号,都会将其转变为Number(其方法和Number()方法类似)
var x=true ;var y=+x;//1
六、逻辑运算符
!非 可以将任何一个数据类型取两次反,转换为Boolean值
var x ="123"; var y=!!x;//true
七、关系运算符:>,<,>=,<=
(1)任何与NaN比较的值都会变成false
console.log(10<="hello");//"hello"会先转换为数字NaN
(2)任何非数字的类型进行比较,都会先转换为数字,然后再比较
如果是字符串比较,不会转换,而是比较他们的Unicode值
-------------------------------------------------------------
希望能够帮助到你,谢谢❤️❤️❤️