顯式轉換與隱式轉換


顯示轉換


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.其他的類型轉換成number類型。

1.1 可以在需要轉換的內容前面加上正號。 +

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

1.2 可以讓需要轉換的內容做算術運算不能后面用 +

    var  str = "123";
    var res = str * 1;
    console.log(res); //123
    console.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); //false
    console.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+"歲了");


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM