欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使弱類(lèi)型的語(yǔ)言JavaScript變強(qiáng)勢(shì)

 更新時(shí)間:2009年06月22日 00:22:44   作者:  
Javascript (ECMA Script)是一種弱類(lèi)型的語(yǔ)言.這并不意味著它沒(méi)有數(shù)據(jù)類(lèi)型,只是變量或者Javascript對(duì)象屬性不需要一個(gè)特定類(lèi)型的值分配給它或者它始終使用相同的值.Javascript中的變量同樣支持自由類(lèi)型轉(zhuǎn)換成為適用(或者要求)的內(nèi)容以便于使用.

弱類(lèi)型的Javascript不會(huì)按照程序員的愿望從實(shí)際的變量類(lèi)型到所需要的數(shù)據(jù)類(lèi)型轉(zhuǎn)換,例如一個(gè)非常常見(jiàn)的錯(cuò)誤,在瀏覽器腳本中,從表單控件中獲取用戶將要輸入的一個(gè)數(shù)值類(lèi)型的變量與另一個(gè)數(shù)值變量的和.因?yàn)樽兞款?lèi)型在表單控件中是字符串類(lèi)型(計(jì)時(shí)字符串序列包含一個(gè)數(shù)字)這種嘗試將會(huì)添加那個(gè)字符串到變量,即使這些值碰巧是一些數(shù)字,結(jié)果在第二個(gè)變量將會(huì)被轉(zhuǎn)換為字符串類(lèi)型,在最后只會(huì)把從表單控件中得到的變量添加到第一個(gè)字符串末尾。

所以強(qiáng)制類(lèi)型轉(zhuǎn)換還是比較重要的,下面看一下它的幾個(gè)強(qiáng)制轉(zhuǎn)換的函數(shù):

1. Boolean(value):把值轉(zhuǎn)換成Boolean類(lèi)型;

2. Nnumber(value):把值轉(zhuǎn)換成數(shù)字(整型或浮點(diǎn)數(shù));

3. String(value):把值轉(zhuǎn)換成字符串。

我們先來(lái)看Boolean():在要轉(zhuǎn)換的值為“至少有一字符的字符串”、“非0的數(shù)字”或“對(duì)象”,那么Boolean()將返回true,如果要轉(zhuǎn)換的值為“空字符串”、“數(shù)字0”、“undefined”,“null”這些話,那么Boolean()會(huì)返回false。你可以用以下代碼來(lái)測(cè)試

以下為引用的內(nèi)容:

  var t1 = Boolean("");//返回false,空字符串
var t2 = Boolean("s");//返回true,非空字符串
var t3 = Boolean(0);//返回false,數(shù)字0
var t3 = Boolean(1),t4 = Boolean(-1);//返回true,非0數(shù)字
var t5 = Boolean(null),t6 = Boolean(undefined);//返回false
var t7 = Boolean(new Object());//返回true,對(duì)象


再來(lái)看看Number():Number()與parseInt()和parseFloat()類(lèi)似,它們區(qū)別在于Number()轉(zhuǎn)換是整個(gè)值,而parseInt()和parseFloat()則可以只轉(zhuǎn)換開(kāi)頭的數(shù)字部分,例如:Number("1.2.3"),Number("123abc")會(huì)返回NaN,而parseInt("1.2.3")返回1、parseInt("123abc")返回123、parseFloat("1.2.3")返回1.2、parseFloat("123abc")返回123。Number()會(huì)先判斷要轉(zhuǎn)換的值能否被完整的轉(zhuǎn)換,然后再判斷是調(diào)用parseInt()或parseFloat()。下面列了一些值調(diào)用Number()之后的結(jié)果:

以下為引用的內(nèi)容:

Number(false)  0
Number(true)  1
Number(undefined)  NaN
Number(null)  0
Number("1.2")  1.2

Number("12")  12
Number("1.2.3")  NaN
Number(new Object())  NaN
Number(123)  123

最后是String():這個(gè)以比較簡(jiǎn)單了,它可以把所有類(lèi)型的數(shù)據(jù)轉(zhuǎn)換成字符串,如:String(false)---"false"、String(1)---"1"。它和toString()方法有些不同,區(qū)別在于:

以下為引用的內(nèi)容:

  var t1 = null;
var t2 = String(t1);//t2的值 "null"
var t3 = t1.toString();//這里會(huì)報(bào)錯(cuò)
var t4;
var t5 = String(t4);//t5的值 "undefined

相關(guān)文章

最新評(píng)論