JavaScript数据类型转换的注意事项
1.字符串的不可变性
字符串定义了后,会一直占据内存空间,企鹅该处内存空间(栈)不可被重新赋值。
2.短路运算
||、&&二元运算符,返回参与运算的操作数的原值(原数据类型和原数据),
运算结束后,返回导致运算结束的那个操作数。
3.三元运算符
code1?code2:code3; 与if-else不同:
返回code2或code3的值----code2,code3 都可以空的{}代替;
不能写break,continue。
4.NaN
NaN!=NaN,
任何NaN参与的数学运算,其结果都是NaN
有NaN参与的条件表达式: 比较运算符>/>=/</<=/==/=== 运算结果为false
!==/!= 运算结果为true
<script> vara; 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"; } varb; if(NaN!==NaN){ b="NaN!=NaN"; } console.log(a+"\n"+b); </script>
5.JS简单数据类型的转换---特殊情况演示
数据:0,“”,false,null,undefined,"123abc"等
<!DOCTYPEhtml> <html> <headlang="en"> <metacharset="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:2pxsolid#000000; } .all-top{ font-size:20px; font-weight:bold; } .all-bottom{ line-height:48px; font-size:16px; } .details{ float:left; border:2pxsolid#000000; line-height:24px; margin-left:-2px; } .details:hover{ position:relative; border:2pxsolid#ff0000; } .line-long{ border-top:2pxsolid#000000; height:0; width:908px; } .line-short{ border-top:2pxdashed#000000; height:0; width:742px; margin-left:166px; } </style> <script> document.write("<divclass='one'>"); functionf1(){ returntypeofres[res.length-1]; } vararr=[0,"",false,null,undefined,NaN,6.66,-9,"abc124","-12.23abc23","qwer","ss"]; document.write("<divclass='all'><divclass='all-top'>"+" 原数据及类型"+"</br>"+"转换方法 </div>"+"<divclass='all-bottom'>"+"+"+"</br>"+"Number()"+"</br>"+"parseInt()"+"</br>"+"parseFloat()"+"</br>"+"\"\""+"</br>"+".toString"+"</br>"+"String()"+"</br>"+"!!"+"</br>"+"Boolean()"+"</br>"+"</div></div>") for(vari=0;i<arr.length;i++){ switch(true){ casearr[i]==="": { varres=['""']; break; } default: { varres=[arr[i]+""]; } } res[res.length]=typeofarr[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没有.toString()方法,导致报错 res[res.length]="报错"; res[res.length]="报错"; }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(); varresString=res.join("<br>"); document.write("<divclass='details'>"+resString+"</br>"+"</div>"); } varj=22; for(vari=0;i<9;i++){ document.write("<divclass='line-short'style='margin-top:"+j+"px'></div>") document.write("<divclass='line-long'style='margin-top:"+j+"px'></div>") } document.write("</div>"); </script> </head> <body> </body> </html>
以上就是本文给大家分享的全部内容了,希望大家能够喜欢