javascript中數據類型轉換

在javascript中轉換成佈爾值的轉換規則是:
1.特殊值undefined和null變成false。
2.數字0和NaN變成false。
3.空字符串變成false。
4.所有其他值變成true。
其中
undefined值有三種情況:
1.你聲明瞭一個變量,但是沒有給它賦值,例如,

<script> 
var a; 
alert(a); 
</script> 
<script>
var a;
alert(a);
</script>
2.你訪問瞭一個對象尚未聲明的屬性(在javascript中尼可以把任何東西都看做是對象的一個屬性),例如:

<script> 
var test=new Object(); 
test.a="apple"; 
test.b="orange"; 
alert(test.c); 
</script> 
<script>
var test=new Object();
test.a="apple";
test.b="orange";
alert(test.c);
</script>
其中test.c是未聲明的。
3.你定義瞭函數的參數,但沒有把值傳遞給它,例如:

<script> 
function test(ob){ 
alert(ob); 

test(); 
</script> 
<script>
function test(ob){
alert(ob);
}
test();
</script>
NaN(非數字值)產生的情況是將不可能轉換成數字的值轉換時產生,例如:

<script> 
var string="I am a student"; 
var number=42; 
alert(string* number); 
</script> 
<script>
var string="I am a student";
var number=42;
alert(string* number);
</script>

javascript的優雅特性之一是:將數值從一種數據類型轉換成到另一種數據類型是很容易的,例如:

<script> 
var a=4; 
var b='3'; 
var c=a*b; 
alert(c); 
</script>  www.aiwalls.com
<script>
var a=4;
var b='3';
var c=a*b;
alert(c);
</script>上述代碼中觸發瞭數據類型的轉換,乘法運算符需要數字,所以javascript嘗試盡可能將它轉換成數字,在上述例子中很容易:b被解釋為數字3,於是c變成瞭12.

摘自 cangkukuaimanle的專欄
 

發佈留言