netJavaScript的變量確實是沒有類型的,就是說你varvariable后,可以隨便的給variable賦值,不會有任何問題??墒琴x給變量的值本身自己卻是有類型的,比如:String、Object、Boolean和Number等等。所以JS的變量還是有類型轉(zhuǎn)換的,當(dāng)然很多時候JS解析引擎會默認(rèn)處理很多的type convert。不過有的時候也需要我們強行轉(zhuǎn)換數(shù)據(jù)類型,最常見的就是:''+數(shù)字+數(shù)字,這種情況來生成字符串累加。 象:''+數(shù)字+數(shù)字,這樣的語法真的是比較的ugly,想我們在C中使用(int)xxx和C++中int(xxx)來做類型轉(zhuǎn)換多么的清晰明了。其實JavaScript也支持這樣的類型轉(zhuǎn)換語法的,例如:scriptlanguage="javascript"varstr='100';varnum=Number(100);alert(typeof(num)+':'+num);varobj=Object(str);alert(typeof(obj)+':'+obj);varbool=Boolean(str);alert(typeof(bool)+':'+bool);varnum=100;varstr=String(num);alert(typeof(str)+':'+str);varbool=Boolean(num);alert(typeof(bool)+':'+bool);varobj=Object(num);alert(typeof(obj)+':'+obj);varbool=true;varstr=String(bool);alert(typeof(str)+':'+str);varnum=Number(bool);alert(typeof(num)+':'+num);varobj=Object(bool);alert(typeof(obj)+':'+obj);varobj={};varstr=String(obj);alert(typeof(str)+':'+str);varnum=Number(obj);alert(typeof(num)+':'+num);varbool=Boolean(obj);alert(typeof(bool)+':'+bool);/script 除了Number(obj)轉(zhuǎn)換失敗,其它強行轉(zhuǎn)換表達式都能取得有意義的轉(zhuǎn)換效果。 使用強行轉(zhuǎn)換表達式最大的好處就是可以使程序代碼變得清晰,為本身就類型混亂的JavaScript編程減少混淆的可能。 至少我覺得類似:varstr = String(3) + String(3); 比varstr= '' + 3 + 3; 表意更清晰。 還有默認(rèn)轉(zhuǎn)換比較混亂的地方,比如:"88"-8和"88"+8,前者的默認(rèn)轉(zhuǎn)換是把字符串轉(zhuǎn)為數(shù)字(結(jié)果80),而后者又是把數(shù)字轉(zhuǎn)為字符串(結(jié)果"888")@_@,真是亂。所以使用變量類型強制轉(zhuǎn)換,就可能避免這類默認(rèn)轉(zhuǎn)換帶來的潛在理解出錯的問題。
創(chuàng)新互聯(lián)公司是一家專業(yè)提供大觀企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為大觀眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進行中。
parseFloat 方法
返回由字符串轉(zhuǎn)換得到的浮點數(shù)。
parseFloat(numString)
必選項 numString 參數(shù)是包含浮點數(shù)的字符串。
--------------------------------------------------
parseInt 方法
返回由字符串轉(zhuǎn)換得到的整數(shù)。
parseInt(numString, [radix])
參數(shù)
numString
必選項。要轉(zhuǎn)換為數(shù)字的字符串。
radix
可選項。在 2 和 36 之間的表示 numString 所保存數(shù)字的進制的值。如果沒有提供,則前綴為 '0x' 的字符串被當(dāng)作十六進制,前綴為 '0' 的字符串被當(dāng)作八進制。所有其它字符串都被當(dāng)作是十進制的。
js中所有的由我們定義的名字都為標(biāo)識符,例如:屬性名,變量名,方法名等
1.標(biāo)識符由字母、數(shù)字、_、$等組成
2.不能由數(shù)字開頭
3.使用駝峰式命名,首字母小寫,后邊單詞首字母大寫
4.標(biāo)識符不能使用關(guān)鍵字(var)和保留字
String
Number
Null
Undefined
Boolean
Object(引用數(shù)據(jù)類型)
var a="ajkajsa";
var b='ashudhasj';
var d=123;
d=123.2374;
最大值為Number.MAX_VALUE=1.7976931348623157e+308(大于最大正值就為正無窮Infinity如果小于最小正值-Infinity)
最大值為Number.MIN_VALUE=5e-324最小的正值
NaN也為number類型
注:在js中最好不要進行浮點數(shù)的運算,關(guān)于錢的問題不要使用js學(xué)習(xí)
------------------------------- 怎么區(qū)別string和Number ----------------------------------------------------
js自帶函數(shù)typeof
? ? 使用方法(typeof d)---(number)(typeof a)---(string)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ----\n換行,相當(dāng)于回車
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ----\t制表符,相當(dāng)于tab鍵
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ----\\相當(dāng)于一個\符號
? ? ? ? ? ? 意思就是把其他數(shù)據(jù)類型的值強制轉(zhuǎn)化為string
? ? ? ? ? ? --------方式一:利用變量名.toString()方法(number和Boolean類型可以用,Null和Undefined類里沒有該方法)
? ? ? ? ? ? --------方式二:利用String(變量名)的方式(對于number和Boolean類型直接調(diào)用的toString()方法,而Nul是通過null---"null",undefined同理)
? ? ? ? ? ? -------方式一:利用Number(變量名)的方式:
? ? ? ? ? ? ? ? ? ? ? ? ?? (1)如果為純數(shù)字的字符串,可以直接轉(zhuǎn)化為數(shù)字
? ? ? ? ? ? ? ? ? ? ? ? ?? (2)如果字符串中含有字母或者空格,直接轉(zhuǎn)為NaN
? ? ? ? ? ? ? ? ? ? ? ? ?? (3)如果字符串為空或者為空格,直接轉(zhuǎn)為0
? ? ? ? ? ? ? ? ? ? ? ? ?? (1)parseInt()把一個字符串轉(zhuǎn)化為整形
(parseInt將字符串中的有效整數(shù)取出來,轉(zhuǎn)化為Number,從前向后)
?? (2)parseFloat()把一個字符串轉(zhuǎn)化為浮點數(shù)
(parseFloat將字符串中的有效整數(shù)取出來,轉(zhuǎn)化為Number,從前向后)
? ? ? ? ? ? ? ? ? ? ? ? ? ? (1)如果為true,轉(zhuǎn)化為1
? ? ? ? ? ? ? ? ? ? ? ? ? ? (2)如果為false,轉(zhuǎn)化為0
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 直接將null轉(zhuǎn)換為0
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 直接將undefined轉(zhuǎn)化為NaN
--------方式一:使用Boolean(變量名)的方法進行強制轉(zhuǎn)換
? ? ? ?? 除了NaN和0轉(zhuǎn)換為false,其他都為true。
除了空字符串轉(zhuǎn)化成false,其他都為true。
這兩種轉(zhuǎn)換都為false。
對象類型都轉(zhuǎn)為true。
在js中,如果需要表示16進制的數(shù)字,則需要以0X開頭
如果需要表示8進制的數(shù)字,則需要以0開頭
如果需要表示2進制的數(shù)字,則需要以0b開頭,但不是所有瀏覽器支持
*/
//十六進制
//2進制
//八進制
網(wǎng)頁標(biāo)題:javascript強轉(zhuǎn),js強類型轉(zhuǎn)換
鏈接URL:http://m.rwnh.cn/article32/phjdpc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、、網(wǎng)站導(dǎo)航、建站公司、網(wǎng)站設(shè)計公司、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)