JavaScript數(shù)據(jù)類型轉(zhuǎn)換的注意事項(xiàng)
1.字符串的不可變性
字符串定義了后,會(huì)一直占據(jù)內(nèi)存空間,企鵝該處內(nèi)存空間(棧)不可被重新賦值。
2.短路運(yùn)算
||、&& 二元運(yùn)算符,返回參與運(yùn)算的操作數(shù)的原值(原數(shù)據(jù)類型和原數(shù)據(jù)),
運(yùn)算結(jié)束后,返回導(dǎo)致運(yùn)算結(jié)束的那個(gè)操作數(shù)。
3.三元運(yùn)算符
code1?code2:code3; 與if-else 不同:
返回code2或code3的值----code2,code3 都可以空的{}代替;
不能寫break,continue。
4.NaN
NaN !=NaN,
任何NaN參與的數(shù)學(xué)運(yùn)算,其結(jié)果都是NaN
有NaN參與的條件表達(dá)式: 比較運(yùn)算符 >/>=/</<=/==/=== 運(yùn)算結(jié)果為false
!==/!= 運(yùn)算結(jié)果為true
<script> var a; console.log(Boolean(NaN>=4)); console.log(Boolean(NaN<4)); console.log(Boolean(NaN=4)); console.log(Boolean(NaN==4)); console.log(Boolean(a=4)); console.log(NaN); console.log(a); if(NaN==NaN){ a = "NaN==NaN"; } var b; if(NaN!==NaN){ b = "NaN!=NaN"; } console.log(a+"\n"+b); </script>
5. JS 簡(jiǎn)單數(shù)據(jù)類型的轉(zhuǎn)換---特殊情況演示
數(shù)據(jù):0,“”,false,null,undefined,"123abc"等
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> div { line-height: 24px; margin: 0; padding: 0; } .one { width: 920px; position: absolute; left: 50%; top: 50%; margin-left: -460px; margin-top: -240px; } .all { float: left; border: 2px solid #000000; } .all-top { font-size: 20px; font-weight: bold; } .all-bottom { line-height: 48px; font-size: 16px; } .details { float: left; border: 2px solid #000000; line-height: 24px; margin-left: -2px; } .details:hover { position: relative; border: 2px solid #ff0000; } .line-long { border-top: 2px solid #000000; height: 0; width: 908px; } .line-short { border-top: 2px dashed #000000; height: 0; width: 742px; margin-left: 166px; } </style> <script> document.write("<div class='one'>"); function f1() { return typeof res[res.length - 1]; } var arr = [0, "", false, null, undefined, NaN, 6.66, -9, "abc124", "-12.23abc23", "qwer", "s s"]; document.write("<div class='all'><div class='all-top'>" + " 原數(shù)據(jù)及類型" + "</br>" + "轉(zhuǎn)換方法 </div>" + "<div class='all-bottom'>" + "+" + "</br>" + "Number()" + "</br>" + "parseInt()" + "</br>" + "parseFloat()" + "</br>" + "\"\"" + "</br>" + ".toString" + "</br>" + "String()" + "</br>" + "!!" + "</br>" + "Boolean()" + "</br>" + "</div></div>") for (var i = 0; i < arr.length; i++) { switch (true) { case arr[i] === "": { var res = ['""']; break; } default : { var res = [arr[i] + ""]; } } res[res.length] = typeof arr[i]; res[res.length] = +arr[i]; res[res.length] = f1(); res[res.length] = Number(arr[i]); res[res.length] = f1(); res[res.length] = parseInt(arr[i]); res[res.length] = f1(); res[res.length] = parseFloat(arr[i]); res[res.length] = f1(); res[res.length] = arr[i] + ""; res[res.length] = f1(); if (i == 3 || i == 4) {//null 和undefined沒(méi)有.toString()方法,導(dǎo)致報(bào)錯(cuò) res[res.length] = "報(bào)錯(cuò)"; res[res.length] = "報(bào)錯(cuò)"; } else { res[res.length] = (arr[i]).toString(); res[res.length] = f1(); } res[res.length] = String(arr[i]); res[res.length] = f1(); res[res.length] = !!arr[i]; res[res.length] = f1(); res[res.length] = Boolean(arr[i]); res[res.length] = f1(); var resString = res.join("<br>"); document.write("<div class='details'>" + resString + "</br>" + "</div>"); } var j = 22; for (var i = 0; i < 9; i++) { document.write("<div class='line-short' style='margin-top:" + j + "px'></div>") document.write("<div class='line-long' style='margin-top:" + j + "px'></div>") } document.write("</div>"); </script> </head> <body> </body> </html>
以上就是本文給大家分享的全部?jī)?nèi)容了,希望大家能夠喜歡
相關(guān)文章
微信 java 實(shí)現(xiàn)js-sdk 圖片上傳下載完整流程
這篇文章主要介紹了微信 java 實(shí)現(xiàn)js-sdk 圖片上傳下載完整流程的相關(guān)資料,需要的朋友可以參考下2016-10-10js動(dòng)態(tài)添加的DIV中的onclick事件簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇js動(dòng)態(tài)添加的DIV中的onclick事件簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-07Google 爬蟲(chóng)如何抓取 JavaScript 的內(nèi)容
我們測(cè)試了谷歌爬蟲(chóng)是如何抓取 JavaScript,下面就是我們從中學(xué)習(xí)到的知識(shí),需要的朋友可以參考下2017-04-04重寫document.write實(shí)現(xiàn)無(wú)阻塞加載js廣告(補(bǔ)充)
這篇文章主要介紹了重寫document.write實(shí)現(xiàn)無(wú)阻塞加載js廣告,需要的朋友可以參考下2014-12-12javascript實(shí)現(xiàn)的一個(gè)自定義長(zhǎng)度的文本自動(dòng)換行的函數(shù)。
javascript實(shí)現(xiàn)的一個(gè)自定義長(zhǎng)度的文本自動(dòng)換行的函數(shù)。...2007-08-08Webpack打包時(shí)將文件內(nèi)聯(lián)方法實(shí)現(xiàn)
本文主要介紹了Webpack打包時(shí)將文件內(nèi)聯(lián)方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01Layui 設(shè)置select下拉框自動(dòng)選中某項(xiàng)的方法
今天小編就為大家分享一篇Layui 設(shè)置select下拉框自動(dòng)選中某項(xiàng)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08JS實(shí)現(xiàn)點(diǎn)擊循環(huán)切換顯示內(nèi)容的方法
這篇文章主要介紹了JS實(shí)現(xiàn)點(diǎn)擊循環(huán)切換顯示內(nèi)容的方法,涉及javascript鼠標(biāo)事件響應(yīng)及頁(yè)面元素的獲取、屬性設(shè)置等相關(guān)操作技巧,需要的朋友可以參考下2017-10-10