JavaScript是一種無型別語言,但同時JavaScript提供了一種靈活的自動型別轉換的處理方式。基本規則是,如果某個類型的值用於需要其他類型的值的環境中,JavaScript就會自動將這個值轉換成所需的類型。
所有語言都有型別轉換的能力,javascript也不例外,它也為開發者提供了大量的型別轉換訪法,透過全域函數,可以實現更為複雜的資料型別。
var a = 3; var b = a + 3; var c = "student" + a; var d = a.toString(); var e = a + ""; document.write(typeof(a) + " " + typeof (b) + " " +typeof (c) + " " + typeof (d) + " " + typeof (e)); //输出 number number string string string
最簡單的類型轉換的例子
var a=b=c=d=e=4; var f = a+b+c+d+ c.toString(); document.write(f); // 输出 结果 164
對於資料型別轉為字串,使用toString() JavaScript轉換為字串同時實現機制轉換。
var a =111; document.writeln(a.toString(2)+""); document.writeln(a.toString(3)+""); document.writeln(a.toString(8)+""); document.writeln(a.toString(10)+""); document.writeln(a.toString(16)+""); //执行结果 // 1101111 11010 157 111 6f
字串轉數值型,JavaScript 使用parseInt()和parseFloat()可進行轉化,正如方法的名稱一樣,前者將字元轉化為整數,後者將字元轉化為浮點數型。只有字元才能調運這兩種方法,否則轉換為NaN。不再進行任何操作。
parseInt()的先檢查下標0處的字符,如果這個字符是有效字符,則檢查1處的字符,如果不是有效字符,則終止轉化。下面的例子是parseInt()的舉例
document.writeln(parseInt("4555.5544")+""); document.writeln(parseInt("0.5544")+""); document.writeln(parseInt("1221abes5544")+""); document.writeln(parseInt("0xc")+"");//直接进行进制转化 document.writeln(parseInt("ahthw@hotmail.com")+"<br>"); //执行结果 4555 0 1221 12 NaN
利用parseInt,同樣也可以輕鬆的實作進位轉換。 (parseFloat()和parseFlaot類似,這裡不再舉例。)
document.writeln(parseInt("0421",8)+""); document.writeln(parseInt("0421")+""); document.writeln(parseInt("0421",16)+""); document.writeln(parseInt("AF",16)+""); document.writeln(parseInt("011",10)+""); //输出结果 273 421 1057 175 11
以上就是本章的全部內容,更多相關教學請造訪JavaScript影片教學!