亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

JavaScript 類型轉(zhuǎn)換

Javascript的變數(shù)是鬆散類型的,它可以儲存Javascript支援的任何資料類型,其變數(shù)的類型可以在執(zhí)行時被動態(tài)改變。請看範例:


var?n = 10;

n = "hello CSSer !";

n = {};

在上面的範例中,先宣告n變數(shù)並初始化其值為10(整數(shù)型別),接著將字串「hello?CSSer!」賦值給n,接著再賦一個物件給它,最後n的型別是物件類型。可以看出變數(shù)n的類型具有動態(tài)性,實際程式設(shè)計中,我們建議不要頻繁地改變變數(shù)的類型,因為這對除錯沒有好處。


JavaScript 資料型別

在JavaScript 中有5 種不同的資料型態(tài):

string

number

boolean

object

function

#3 種物件類型:

Object

#Date

Array

2 個不包含任何值的資料類型:

null

#undefined

typeof 運算子

你可以使用typeof?操作符來查看JavaScript 變數(shù)的資料類型。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = 
    typeof "tom" + "<br>" +
    typeof 3.14 + "<br>" +
    typeof NaN + "<br>" +
    typeof false + "<br>" +
    typeof [1,2,3,4] + "<br>" +
    typeof {name:'john', age:34} + "<br>" +
    typeof new Date() + "<br>" +
    typeof function () {} + "<br>" +
    typeof myCar + "<br>" +
    typeof null;
</script>
</body>
</html>

請注意:

NaN 的資料型別是number

陣列(Array)的資料型別是object

日(Date)的資料型別為object

null 的資料型別是object

未定義變數(shù)的資料型別為undefined

constructor 屬性

constructor?屬性傳回所有JavaScript 變數(shù)的建構(gòu)函數(shù)。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = 
    "john".constructor + "<br>" +
    (3.14).constructor + "<br>" +
    false.constructor + "<br>" +
    [1,2,3,4].constructor + "<br>" +
    {name:'john', age:34}.constructor + "<br>" +
    new Date().constructor + "<br>" +
    function () {}.constructor;
</script>
</body>
</html>

? ?


#明確轉(zhuǎn)換

透過手動進行型別轉(zhuǎn)換,Javascript提供了以下轉(zhuǎn)型函數(shù):

轉(zhuǎn)換為數(shù)值類型:Number(mix)、parseInt(string,radix)、parseFloat(string)
轉(zhuǎn)換為字串類型:toString(radix)、String(mix)
轉(zhuǎn)換為布林類型:Boolean(mix)

1、Number(mix)函數(shù),可以將任意型別的參數(shù)mix轉(zhuǎn)換為數(shù)值型別

##其規(guī)則為:

如果是布林值,true和false分別轉(zhuǎn)換為1和0

如果是數(shù)字值,則回傳本身。

如果是null,回傳0.

如果是undefined,回傳NaN。

如果是字串,遵循以下規(guī)則:

1)如果字串中只包含數(shù)字,則將其轉(zhuǎn)換為十進位(忽略前導(dǎo)0)

#2)如果字串中包含有效的浮點格式,將其轉(zhuǎn)換為浮點數(shù)值(忽略前導(dǎo)0)

3)如果是空字串,則將其轉(zhuǎn)換為0

#4)如果字串中包含非以上格式,則將其轉(zhuǎn)換為NaN

如果是對象,則呼叫對象的valueOf()方法,然後依據(jù)前面的規(guī)則轉(zhuǎn)換傳回的值。如果轉(zhuǎn)換的結(jié)果是NaN,則呼叫物件的toString()方法,再次依照前面的規(guī)則轉(zhuǎn)換回傳的字串值。

Number("3.14")????// 返回3.14Number(" ")???????// 返回0?
Number(???88")???// 返回NaN


2、parseInt(string,?radix)函數(shù),將字串轉(zhuǎn)換為整數(shù)類型的數(shù)值。它也有一定的規(guī)則:


忽略字串前面的空格,直到找到第一個非空字元

如果第一個字元不是數(shù)字符號或負??號,返回NaN

如果第一個字元是數(shù)字,則繼續(xù)解析直至字串解析完畢或遇到一個非數(shù)字符號為止

如果上步解析的結(jié)果以0開頭,則將其當作八進位來解析;如果以0x開頭,則將其當作十六進位來解析

如果指定radix參數(shù),則以radix為基數(shù)進行解析

3、parseFloat(string)函數(shù),將字串轉(zhuǎn)換為浮點數(shù)類型的數(shù)值##它的規(guī)則與parseInt基本上相同,但也有點區(qū)別:字串中第一個小數(shù)點符號是有效的,另外parseFloat會忽略所有前導(dǎo)0,如果字串包含一個可解析為整數(shù)的數(shù),則傳回整數(shù)值而不是浮點數(shù)值。

4、toString(radix)方法。除undefined和null之外的所有類型的值都具有toString()方法,其作用是傳回物件的字串表示

# #物件? ?作業(yè)? ?Array ? ?將?Array?的元素轉(zhuǎn)換為字串。結(jié)果字串由逗號分隔,且連接起來。 ? ?

Boolean ? ?如果?Boolean?值是?true,則回傳?「true」。否則,返回?“false”。 ? ?

Date ? ?返回日期的文字表示法。 ? ?

Error ? ?傳回一個包含相關(guān)錯誤訊息的字串。

Function ? ?返回如下格式的字符串,其中?functionname?是被調(diào)用?toString?方法函數(shù)的名稱:

function?functionname(?)?{?[native?code]?}

Number ? ?回傳數(shù)字的文字表示。 ? ?

String ? ?傳回?String?物件的值。 ? ?

預(yù)設(shè) ? ?回傳?“[object?objectname]”,其中?objectname?則是物件類型的名稱。

5、String(mix)函數(shù),將任何類型的值轉(zhuǎn)換為字串,其規(guī)則為:

如果有toString()方法,則呼叫該方法(不傳遞radix參數(shù))並傳回結(jié)果

如果是null,則傳回”null”

如果是undefined,返回”undefined”

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>
<p id="demo"></p>
<script>
var x = 55;
document.getElementById("demo").innerHTML =
    String(x) + "<br>" +
    String(13.3) + "<br>" +
    String(100.99 + 23);
</script>
</body>
</html>

#6、Boolean(mix)函數(shù),將任何類型的值轉(zhuǎn)換為布林值。

以下值會轉(zhuǎn)換為false:false、」"、0、NaN、null、undefined,其餘任何值都會轉(zhuǎn)換為true。


實例:

#
<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>php中文網(wǎng)(php.cn)</title> 
    <script type="text/javascript">
var i="123abc";
    i=parseInt(i);//字符串轉(zhuǎn)整形
    alert(i+","+typeof(i));//輸出:123,number
    i="12.3abc";
    i=parseFloat(i);//字符串轉(zhuǎn)浮點型
    alert(i+","+typeof(i));//輸出:12.3,number(可見不管是int還是float都是number類型)
    i="a123abc";
    i=parseInt(i);//字符串轉(zhuǎn)整形
    alert(i+","+typeof(i));//輸出:NaN,number (由于轉(zhuǎn)換失敗,所以提示“不是一個數(shù)字,Not a Number”)
    var num=document.getElementById("num").value;
    function showMsg(num)
    {
        for(var i=0;i<num;i++)
        {
            document.write("你好,JavaScript!<br/>");
        }
    }
</script>
</head>
<body>
</body>
</html>




一元運算子+

Operator +?可用來將變數(shù)轉(zhuǎn)換為數(shù)字:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>
<button onclick="myFunction()">點擊</button>
<p id="demo"></p>
<script>
function myFunction() {
    var y = "5";
    var x = + y;
    document.getElementById("demo").innerHTML =
typeof y + "<br>" + typeof x;
}
</script>
</body>
</html>


#
繼續(xù)學習
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p id="demo"></p> <script> var x = 55; document.getElementById("demo").innerHTML = String(x) + "<br>" + String(13.3) + "<br>" + String(100.99 + 23); </script> </body> </html>