基于javascript 显式转换与隐式转换(详解)
显示转换
1.题目:请输入今年的年龄,求5年后多大?
//a.prompt接收到的数据是string类型的。 varage=prompt("请输入你今年的年龄"); alert(typeofage); varage5=age+5;//这里只会拼接成了15,而不是加5 alert("我今年"+age+"岁了,5年后我"+age5+"岁了");
2.字符串要转换成number类型。
针对上述问题,需要将age转换为数字型
2.1可以使用Number(需要转化的内容);
varstr=true; varnum=Number(str); console.log(num);//1 console.log(typeofnum);//number //注意: //1.如果这个转换的字符串本身就是一个数字,那么可以转换成功;如果这个字符串本身不是一个数字,那么转成NaN. //2.如果这个字符串本身是一个数字,前后有空格,也是会转换成功的;如果中间有空格,就转成NaN. //3.如果是一个"",或者是"",或者是flase,那么会转换成0.true转成1,undefined转成NaN //4.如果字符串的本身是一个小数,也是可以转换成功的。
2.2可以使用parseInt(需要转化的内容);
varstr="123"; varnum=parseInt(str); console.log(num);//123 console.log(typeofnum);//number //注意: //1.从左往右查找,直到遇到第一个非数字为止,前面的所有的内容转换成数字。 //2.如果找完了,都没有找到一个数字,那么就转换成NaN. //3.""和""转化成NaN //4.如果字符串里面是小数,那么转换后只能得到他的整数部分。
2.3可以使用parseFloat(需要转化的内容);
varstr="123.24ll"; varnum=parseFloat(str); console.log(num);//123.24 console.log(typeofnum);//number //注意:如果字符串里面是小数,那么转换后还是小数。。 //******注意:true会转成1,false会转换0. //如果字符串转数字,一般的使用parseInt或者parseFolat。 //如果是其他类型,比如布尔类型,使用Number();
3.其他类型数据转换成字符串类型。
3.1可以使用String(需要转化的内容);
varnum=123; varstr=String(num); console.log(str);//"123" console.log(typeofstr);//string //注意:"123""true""false""undefined""null""NaN"
3.2可以使用需要转化的内容.toString();
varnum=123; varstr=num.toString(); console.log(str);//"123" console.log(typeofstr);//string //注意:"123""true""false"NaN" //undefined和null不能使用toString。
4.其他的数据类型转换成boolean类型。
4.1可以使用Boolean(需要转化的内容);
varnum=""; varres=Boolean(num); console.log(res);//false console.log(typeofres);//boolean //注意: //那些可以转换成布尔类型的false:0-0false""undefinednullNaN //""会转换成true
隐式转换
1.其他的类型转换成number类型。
1.1可以在需要转换的内容前面加上正号。+
varstr="123"; varres=+str; console.log(res);//123 console.log(typeofres);//number
1.2可以让需要转换的内容做算术运算不能后面用+
varstr="123"; varres=str*1; console.log(res);//123 console.log(typeofres);//number //注意:一定要和连接符做一个区分。
2.其他的类型转换成string类型。使用连接符+“”
varnum=123; varstr=num+""; console.log(str);//"123" console.log(typeofstr);//string
3.其他的类型转换成boolean类型。使用取反运算符
varnum=undefined; varres=!!num; console.log(res);//false console.log(typeofres);boolean //注意:那些能转成布尔类型的false:0-0falseundefiendnullNaN""
1.题目:请输入今年的年龄,求5年后多大?
//a.prompt接收到的数据是string类型的。 varage=+prompt("请输入你今年的年龄"); varage5=age+5; alert("我今年"+age+"岁了,5年后我"+age5+"岁了");
以上这篇基于javascript显式转换与隐式转换(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。