下面小編就為大家分享一篇基於javascript 明確轉換與隱式轉換(詳解),具有很好的參考價值,希望對大家有所幫助。一起跟著小編過來看看吧
顯示轉換
#1.題目:請輸入今年的年齡,求5年後多大?
//a.prompt接收到的数据是string类型的。 var age = prompt("请输入你今年的年龄"); alert(typeof age); var age5 = age + 5; // 这里只会拼接成了15,而不是加5 alert("我今年"+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); //123 console.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.24 console.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); //false console.log(typeof res); //boolean //注意: //那些可以转换成布尔类型的false: 0 -0 false "" undefined null NaN //" "会转换成true
隱含轉換
1.1 可以在需要轉換的內容前面加上正號。 var str = "123";
var res = +str;
console.log(res); //123
console.log(typeof res); //number
var str = "123"; var res = str * 1; console.log(res); //123 console.log(typeof res); //number //注意: 一定要和连接符做一个区分。
var num = 123; var str = num + ""; console.log(str); //"123" console.log(typeof str);//string
var num = undefined; var res = !!num; console.log(res); //false console.log(typeof res);boolean // 注意:那些能转成布尔类型的false:0 -0 false undefiend null NaN ""
//a.prompt接收到的数据是string类型的。 var age = +prompt("请输入你今年的年龄"); var age5 = age + 5; alert("我今年"+age+"岁了,5年后我"+age5+"岁了");
以上是在javascript中如何實現明確轉換與隱式轉換的詳細內容。更多資訊請關注PHP中文網其他相關文章!