基于javascript 显式转换与隐式转换(详解)

时间:2021-05-25

显示转换

1.题目:请输入今年的年龄,求5年后多大?

//a.prompt接收到的数据是string类型的。var age = prompt("请输入你今年的年龄");alert(typeof age);var age5 = age + 5; // 这里只会拼接成了15,而不是加5alert("我今年"+age+"岁了,5年后我"+age5+"岁了");

2.字符串要转换成number类型。

针对上述问题,需要将age转换为数字型

2.1 可以使用Number(需要转化的内容);

var str = true; var num = Number(str); console.log(num); //1 console.log(typeof num); //number // 注意: // 1.如果这个转换的字符串本身就是一个数字,那么可以转换成功; 如果这个字符串本身不是一个数字,那么转成NaN. // 2.如果这个字符串本身是一个数字,前后有空格,也是会转换成功的; 如果中间有空格,就转成NaN. // 3.如果是一个"",或者是" ",或者是flase,那么会转换成0.true转成1,undefined转成NaN // 4.如果字符串的本身是一个小数,也是可以转换成功的。

2.2 可以使用parseInt(需要转化的内容);

var str = "123";var num = parseInt(str);console.log(num); //123console.log(typeof num); //number// 注意:// 1.从左往右查找,直到遇到第一个非数字为止,前面的所有的内容转换成数字。// 2.如果找完了,都没有找到一个数字,那么就转换成NaN.// 3."" 和 " " 转化成NaN// 4.如果字符串里面是小数,那么转换后只能得到他的整数部分。

2.3 可以使用parseFloat(需要转化的内容);

var str = "123.24ll";var num = parseFloat(str);console.log(num); //123.24console.log(typeof num); //number// 注意:如果字符串里面是小数,那么转换后还是小数。。//******注意: true会转成1,false会转换0.// 如果字符串转数字,一般的使用parseInt或者parseFolat。// 如果是其他类型,比如布尔类型,使用Number();

3. 其他类型数据 转换成字符串类型。

3.1 可以使用 String(需要转化的内容);

var num = 123;var str = String(num);console.log(str); //"123"console.log(typeof str); //string//注意: "123" "true" "false" "undefined" "null" "NaN"

3.2 可以使用 需要转化的内容.toString();

var num = 123;var str = num.toString();console.log(str); //"123"console.log(typeof str); //string//注意: "123" "true" "false "NaN"//undefined 和null 不能使用toString。

4.其他的数据类型 转换成 boolean类型。

4.1 可以使用Boolean(需要转化的内容);

var num = "";var res = Boolean(num);console.log(res); //falseconsole.log(typeof res); //boolean//注意://那些可以转换成布尔类型的false: 0 -0 false "" undefined null NaN//" "会转换成true

隐式转换

1.其他的类型转换成number类型。

1.1 可以在需要转换的内容前面加上正号。 +

var str = "123";var res = +str;console.log(res); //123console.log(typeof res); //number

1.2 可以让需要转换的内容做算术运算不能后面用 +

var str = "123";var res = str * 1;console.log(res); //123console.log(typeof res); //number//注意: 一定要和连接符做一个区分。

2.其他的类型转换成string类型 。 使用连接符 +“”

var num = 123;var str = num + "";console.log(str); //"123"console.log(typeof str);//string

3.其他的类型转换成boolean类型 。 使用取反运算符

var num = undefined;var res = !!num;console.log(res); //falseconsole.log(typeof res);boolean// 注意:那些能转成布尔类型的false:0 -0 false undefiend null NaN ""

1.题目:请输入今年的年龄,求5年后多大?

//a.prompt接收到的数据是string类型的。var age = +prompt("请输入你今年的年龄");var age5 = age + 5;alert("我今年"+age+"岁了,5年后我"+age5+"岁了");

以上这篇基于javascript 显式转换与隐式转换(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章