你的位置:首页 > Java教程

[Java教程]数据类型转换中的一些特殊情况(JY06


1.字符串的不可变性  

  字符串定义了后,会一直占据内存空间,企鹅该处内存空间(栈)不可被重新赋值

2.短路运算

  ||、&& 二元运算符,返回参与运算的操作数的原值(原数据类型和原数据)

  运算结束后,返回导致运算结束的那个操作数。

3.三元运算符

  code1?code2:code3;   与if-else 不同:

  返回code2或code3的值----code2,code3   都可以空的{}代替;

                   不能写break,continue。

4.NaN

  NaN !=NaN,

  任何NaN参与的数学运算,其结果都是NaN

  有NaN参与的条件表达式:    比较运算符 >/>=/</<=/==/===     运算结果为false

                     !==/!=         运算结果为true

  

 1 <script> 2   var a; 3   console.log(Boolean(NaN>=4)); 4   console.log(Boolean(NaN<4)); 5   console.log(Boolean(NaN=4)); 6   console.log(Boolean(NaN==4)); 7   console.log(Boolean(a=4)); 8   console.log(NaN); 9   console.log(a);10   if(NaN==NaN){11     a = "NaN==NaN";12   }13   var b;14   if(NaN!==NaN){15     b = "NaN!=NaN";16   }17   console.log(a+"\n"+b);18 </script>

View Code---NaN特点演示

5. JS 简单数据类型的转换---特殊情况演示

   数据:0,“”,false,null,undefined,"123abc"等

 1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4   <meta charset="UTF-8"> 5   <title></title> 6   <style> 7     div { 8       line-height: 24px; 9       margin: 0; 10       padding: 0; 11     } 12     .one { 13       width: 920px; 14       position: absolute; 15       left: 50%; 16       top: 50%; 17       margin-left: -460px; 18       margin-top: -240px; 19     } 20     .all { 21       float: left; 22       border: 2px solid #000000; 23     } 24     .all-top { 25       font-size: 20px; 26       font-weight: bold; 27     } 28     .all-bottom { 29       line-height: 48px; 30       font-size: 16px; 31     } 32     .details { 33       float: left; 34       border: 2px solid #000000; 35       line-height: 24px; 36       margin-left: -2px; 37     } 38     .details:hover { 39       position: relative; 40       border: 2px solid #ff0000; 41     } 42     .line-long { 43       border-top: 2px solid #000000; 44       height: 0; 45       width: 908px; 46     } 47     .line-short { 48       border-top: 2px dashed #000000; 49       height: 0; 50       width: 742px; 51       margin-left: 166px; 52     } 53   </style> 54   <script> 55     document.write("<div class='one'>"); 56     function f1() { 57       return typeof res[res.length - 1]; 58     } 59     var arr = [0, "", false, null, undefined, NaN, 6.66, -9, "abc124", "-12.23abc23", "qwer", "s s"]; 60     document.write("<div class='all'><div class='all-top'>" + "&nbsp;&nbsp;原数据及类型" + "</br>" + "转换方法&nbsp;&nbsp;</div>" + "<div class='all-bottom'>" + "+" + "</br>" + "Number()" + "</br>" + "parseInt()" + "</br>" + "parseFloat()" + "</br>" + "\"\"" + "</br>" + ".toString" + "</br>" + "String()" + "</br>" + "!!" + "</br>" + "Boolean()" + "</br>" + "</div></div>") 61     for (var i = 0; i < arr.length; i++) { 62       switch (true) { 63         case arr[i] === "": 64         { 65           var res = ['""']; 66           break; 67         } 68         default : 69         { 70           var res = [arr[i] + ""]; 71         } 72       } 73       res[res.length] = typeof arr[i]; 74       res[res.length] = +arr[i]; 75       res[res.length] = f1(); 76       res[res.length] = Number(arr[i]); 77       res[res.length] = f1(); 78       res[res.length] = parseInt(arr[i]); 79       res[res.length] = f1(); 80       res[res.length] = parseFloat(arr[i]); 81       res[res.length] = f1(); 82       res[res.length] = arr[i] + ""; 83       res[res.length] = f1(); 84       if (i == 3 || i == 4) {//null 和undefined没有.toString()方法,导致报错 85         res[res.length] = "报错"; 86         res[res.length] = "报错"; 87       } else { 88         res[res.length] = (arr[i]).toString(); 89         res[res.length] = f1(); 90       } 91       res[res.length] = String(arr[i]); 92       res[res.length] = f1(); 93       res[res.length] = !!arr[i]; 94       res[res.length] = f1(); 95       res[res.length] = Boolean(arr[i]); 96       res[res.length] = f1(); 97  98       var resString = res.join("<br>"); 99       document.write("<div class='details'>" + resString + "</br>" + "</div>");100     }101     var j = 22;102     for (var i = 0; i < 9; i++) {103       document.write("<div class='line-short' style='margin-top:" + j + "px'></div>")104       document.write("<div class='line-long' style='margin-top:" + j + "px'></div>")105     }106     document.write("</div>");107   </script>108 </head>109 <body>110 </body>111 </html>

View Code