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.zzzyk.com
<script>
var a=4;
var b='3';
var c=a*b;
alert(c);
</script>上述代码中触发了数据类型的转换,乘法运算符需要数字,所以javascript尝试尽可能将它转换成数字,在上述例子中很容易:b被解释为数字3,于是c变成了12.
摘自 cangkukuaimanle的专栏
补充:web前端 , JavaScript ,