javascript
html类型转换函数,如何在JavaScript中转换数据类型?
在JavaScript中,數(shù)據(jù)類型用于對(duì)一種特定類型的數(shù)據(jù)進(jìn)行分類,確定可以分配給類型的值以及可以對(duì)其執(zhí)行的操作。雖然由于類型強(qiáng)制,JavaScript會(huì)自動(dòng)轉(zhuǎn)換許多值,但為了達(dá)到預(yù)期的結(jié)果,通常最好在類型之間手動(dòng)轉(zhuǎn)換值。那么如何在JavaScript中轉(zhuǎn)換數(shù)據(jù)類型?下面本篇文章就來給大家介紹一下,希望對(duì)大家有所幫助。
JavaScript 變量可以轉(zhuǎn)換為新變量或其他數(shù)據(jù)類型,分為兩種情況:
● 隱性轉(zhuǎn)換:通過 JavaScript 自身自動(dòng)轉(zhuǎn)換
● 顯性轉(zhuǎn)換:通過使用 JavaScript 函數(shù)進(jìn)行轉(zhuǎn)換
隱性轉(zhuǎn)換
作為一種編程語言,javascript對(duì)意外值非常寬容。因此,JavaScript將嘗試轉(zhuǎn)換意外的值,而不是直接拒絕它們。這種隱性轉(zhuǎn)換稱為強(qiáng)制類型轉(zhuǎn)換。
有些方法會(huì)自動(dòng)轉(zhuǎn)換值以便使用它們,例:alert()方法將字符串作為參數(shù),但它將自動(dòng)將其他類型轉(zhuǎn)換為字符串。因此,我們可以向方法傳遞一個(gè)數(shù)值:alert(8.5);
如果我們運(yùn)行上面的代碼,瀏覽器將彈出一個(gè)警報(bào)對(duì)話框,顯示8.5的值,它已經(jīng)被轉(zhuǎn)換為一個(gè)字符串。
當(dāng)使用可以通過數(shù)學(xué)運(yùn)算符計(jì)算為數(shù)字的字符串時(shí),您將發(fā)現(xiàn)JavaScript能夠通過隱式地將字符串轉(zhuǎn)換為數(shù)字來處理這些值,如下面的示例所示。
例1:"15" - "10";
輸出:5
例2:"15" / "10";
輸出1.5
例3:"15" % "10";
輸出:5
但是,并非每個(gè)運(yùn)算符都能按預(yù)期工作。該+運(yùn)算符尤其是有問題的,因?yàn)樗纯梢员硎炯臃?#xff0c;也可以表示字符串連接。
當(dāng)使用字符串時(shí),+運(yùn)算符表示字符串連接:"2" + "3";
輸出:"23"
由于+運(yùn)算符是多用途的,字符串值2和3,盡管是數(shù)字串,被連接到的字符串值23,而不是加在一起成為數(shù)5。
因?yàn)榭赡艽嬖谄缌x,有時(shí)會(huì)導(dǎo)致意外的結(jié)果,所以最好在代碼中盡可能地顯性轉(zhuǎn)換數(shù)據(jù)類型。這將有助于管理來自用戶的輸入和處理錯(cuò)誤。
顯性轉(zhuǎn)換
1、將值轉(zhuǎn)換為字符串
可以通過調(diào)用String()或n.toString()顯式地將值轉(zhuǎn)換為字符串。
使用String()函數(shù),讓我們通過將布爾值true傳遞給String()的參數(shù),將其轉(zhuǎn)換為字符串。String(true);
輸出:"true"
或者,我們可以將一個(gè)數(shù)字傳遞給函數(shù)。String(50);
輸出:"50"
我們來具體看看,先分配一個(gè)數(shù)值給變量a,然后使用typeof運(yùn)算符來檢查類型。var a=50
console.log("值:"+a+",類型為"+typeof a);
輸出:值:50,類型為number
可以看出此時(shí)變量a被賦予數(shù)值50,是一個(gè)數(shù)組。
現(xiàn)在,我們來使用String()函數(shù),將值轉(zhuǎn)換為字符串,然后使用typeof運(yùn)算符來檢查類型。a=String(a);
console.log("值:"+a+",類型為"+typeof a);
輸出:值:50,類型為string
在上面的示例中,我們已經(jīng)確認(rèn)在數(shù)據(jù)類型轉(zhuǎn)換之后,變量a被重新分配為等效的字符串值。
我們也可以用類似的方式使用n.toString()。我們可以用一個(gè)變量替換n:let blows = 400;
blows.toString();
變量blows將作為字符串返回。"400"
或者,我們可以在括號(hào)中放置一個(gè)值,而不是使用n.ToString()的變量:(1776).toString(); //返回 "1776"
(false).toString(); // 返回 "false"
(100 + 200).toString(); // 返回 "300"
通過使用String()或n.toString()我們能夠?qū)⒉紶栔祷驍?shù)字?jǐn)?shù)據(jù)類型的值顯式轉(zhuǎn)換為字符串值,以確保我們的代碼行為與我們預(yù)期的一樣。
2、將值轉(zhuǎn)換為數(shù)字
我們可以使用number()方法,將值轉(zhuǎn)換為數(shù)字?jǐn)?shù)據(jù)類型。首先,我們將把數(shù)字文本字符串轉(zhuǎn)換為數(shù)字,也可以將布爾值轉(zhuǎn)換對(duì)于的數(shù)字0或1。
我們可以將一個(gè)數(shù)字串傳遞給number()方法:Number("50");
該字符串將轉(zhuǎn)換為數(shù)字,不再包含在引號(hào)內(nèi)。50
白色空格或空字符串將轉(zhuǎn)換為0。Number(" "); // 返回 0
Number(""); // 返回 0
注意,非數(shù)字字符串將轉(zhuǎn)換為NaN, NaN表示非數(shù)字。這包括用空格分隔的數(shù)字。Number("twelve"); // 返回 NaN
Number("20,000"); // 返回NaN
Number("2 3"); // 返回 NaN
Number("11-11-11"); // 返回 NaN
對(duì)于布爾數(shù)據(jù)類型,false的值為0,true的值為1。Number(false); // 返回 0
Number(true); // 返回 1
Number()方法會(huì)將非數(shù)字?jǐn)?shù)據(jù)類型轉(zhuǎn)換為數(shù)字。
3、將值轉(zhuǎn)換為布爾值
我們可以使用Boolean()方法,將數(shù)字或字符串值轉(zhuǎn)換為布爾值。這是一種非常有用的方法,例如:可以用于確定用戶是否將數(shù)據(jù)輸入文本字段。
任何被解釋為空的值,如數(shù)字0、空字符串或未定義的值、NaN或null,都被轉(zhuǎn)換為false。Boolean(0); // 返回 false
Boolean(""); // 返回 false
Boolean(undefined); // 返回 false
Boolean(NaN); // 返回 false
Boolean(null); // 返回 false
其他值將被轉(zhuǎn)換為true,包括由空格組成的字符串文字。Boolean(2000); // 返回 true
Boolean(" "); // 返回 true
Boolean("Maniacs"); // 返回 true
注意:“0”作為字符串文字將轉(zhuǎn)換為 true,因?yàn)樗且粋€(gè)非空字符串值:Boolean("0"); // 返回 true
將數(shù)字和字符串轉(zhuǎn)換為布爾值可以讓我們?cè)诙M(jìn)制項(xiàng)中評(píng)估數(shù)據(jù),并且可以在程序中用于控制流。
總結(jié):
雖然由于類型強(qiáng)制,數(shù)據(jù)類型將在許多情況下隱式轉(zhuǎn)換,但顯式轉(zhuǎn)換數(shù)據(jù)類型以確保程序按預(yù)期運(yùn)行是一個(gè)好習(xí)慣。
總結(jié)
以上是生活随笔為你收集整理的html类型转换函数,如何在JavaScript中转换数据类型?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么html中加样式,简明教程 在HTM
- 下一篇: spring拦截器覆盖_Spring中使