Javascript 強(qiáng)制類型轉(zhuǎn)換函數(shù)
更新時(shí)間:2009年05月17日 00:45:39 作者:
javascript是弱類型的語(yǔ)言,所以強(qiáng)制類型轉(zhuǎn)換還是比較重要的,下面看一下它的幾個(gè)強(qiáng)制轉(zhuǎn)換的函數(shù)
1. Boolean(value):把值轉(zhuǎn)換成Boolean類型;
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è)試
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()類似,它們區(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é)果:
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)單了,它可以把所有類型的數(shù)據(jù)轉(zhuǎn)換成字符串,如:String(false)---"false"、String(1)---"1"。它和toString()方法有些不同,區(qū)別在于:
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"
var t6 = t4.toString();//這里會(huì)報(bào)錯(cuò)
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è)試
復(fù)制代碼 代碼如下:
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()類似,它們區(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é)果:
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)單了,它可以把所有類型的數(shù)據(jù)轉(zhuǎn)換成字符串,如:String(false)---"false"、String(1)---"1"。它和toString()方法有些不同,區(qū)別在于:
復(fù)制代碼 代碼如下:
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"
var t6 = t4.toString();//這里會(huì)報(bào)錯(cuò)
您可能感興趣的文章:
- 詳解JavaScript中的強(qiáng)制類型轉(zhuǎn)換和自動(dòng)類型轉(zhuǎn)換
- JS中強(qiáng)制類型轉(zhuǎn)換的實(shí)現(xiàn)
- 重學(xué)JS之顯示強(qiáng)制類型轉(zhuǎn)換詳解
- JavaScript強(qiáng)制類型轉(zhuǎn)換和隱式類型轉(zhuǎn)換操作示例
- 詳解JavaScript中的強(qiáng)制類型轉(zhuǎn)換
- JS在if中的強(qiáng)制類型轉(zhuǎn)換方式
- Javascript Boolean、Nnumber、String 強(qiáng)制類型轉(zhuǎn)換的區(qū)別詳細(xì)介紹
- 深入理解JavaScript強(qiáng)制類型轉(zhuǎn)換
相關(guān)文章
JavaScript代碼壓縮工具UglifyJS和Google Closure Compiler的基本用法
網(wǎng)上搜索了,目前主流的Js代碼壓縮工具主要有Uglify、YUI Compressor、Google Closure Compiler,簡(jiǎn)單試用了UglifyJS 和Google Closure Compiler 兩種工具的基本用法,需要的朋友可以參考下2020-04-04
childNodes.length與children.length的區(qū)別
childNodes.length與children.length的值常不一樣。2009-05-05
微信小程序?qū)崿F(xiàn)手寫(xiě)簽名的示例代碼
這篇文章主要和大家分享一個(gè)微信小程序的示例代碼,可以實(shí)現(xiàn)手寫(xiě)簽名的效果。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-02-02
JavaScript 文件加載與阻塞問(wèn)題之性能優(yōu)化案例詳解
這篇文章主要介紹了JavaScript 文件加載與阻塞問(wèn)題之性能優(yōu)化案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09
JS實(shí)現(xiàn)將Asp.Net的DateTime Json類型轉(zhuǎn)換為標(biāo)準(zhǔn)時(shí)間的方法
這篇文章主要介紹了JS實(shí)現(xiàn)將Asp.Net的DateTime Json類型轉(zhuǎn)換為標(biāo)準(zhǔn)時(shí)間的方法,涉及javascript針對(duì)時(shí)間與日期操作的相關(guān)技巧,需要的朋友可以參考下2016-08-08
原生JS 實(shí)現(xiàn)的input輸入時(shí)表格過(guò)濾操作示例
這篇文章主要介紹了原生JS 實(shí)現(xiàn)的input輸入時(shí)表格過(guò)濾操作,結(jié)合實(shí)例形式分析了JavaScript基于頁(yè)面元素遍歷、運(yùn)算、判斷實(shí)現(xiàn)的表格過(guò)濾相關(guān)操作技巧,需要的朋友可以參考下2019-08-08
如何檢測(cè)JavaScript中的死循環(huán)示例詳解
這篇文章主要給大家介紹了關(guān)于如何檢測(cè)JavaScript中死循環(huán)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08

