【JavaScript高级程序设计】6、基本包装类型(1)
就是JavaScript中有三种类型boolean、number、String三个类型在进行相应操作的时候后台会制动生成一些操作,比如Stirng:
var s1 = "some text";
var s2 = s1.substring(2);
//上面的操作在执行的时候在后台会自动做如下处理
var s1 = new String("some text");
var s2 = s1.substring(2);
s1 = null;
s1 = "some text"
这里s1被销毁过了,但是之后还是s1的数据,这里可以再次印证
var s1 = "some text";
s1.color = "red";
//这里其实从新创建了新的s1,所以前面的color已经被销毁了,因为这里输出的时候相当于是输出,调用了toString方法
alert(s1.color); //undefined
1、Boolean类型
<!DOCTYPE html>
<html>
<head>
<title>Function Type Arguments Caller Example</title>
<script type="text/javascript">
//这里创建一个boolean类型,设定值为false
var booleanfalse = new Boolean(false);
var result = booleanfalse && true;
alert(result);
var falsevalue = false;
//这里boolean直接用来和true进行&&运算
result = falsevalue && true;
alert(result);
</script>
</head>
<body>
</body>
</html>
结果:


这里第一次出现false是因为new Boolean出来的对象是一个object对象,进行&&比对的时候,JavaScript是吧所有的对象都转为true,而Boolean的值实际上并没有拿来进行比较
第二个是直接把值拿来进行&&运算,所以是false
建议:不要使用Boolean对象!!!
2、number类型
关于number有几个函数使用:toFixed,toExponential,toPrecision.
三个函数
toFixed会按照指定的小数位返回数值的字符串表示。
toExponential接受一个参数,也输出结果中的小数位数,但是用e表示法
toPrecision返回固定大小,也可能返回e表示法
<!DOCTYPE html>
<html>
<head>
<title>基本包装类型</title>
<script type="text/javascript">
var num = 10;
//两位小数,10.00
alert(num.toFixed(2));
//还可以进行舍入操作
var num2 = 10.005;
alert(num2.toFixed(2)); //10.01
var num3 = 10.0001;
alert(num3.toFixed(2)); //10.00
alert("toExponential <=> num:" + num.toExponential(2) + "\tnum2:" + num2.toExponential(2) + "\tnum3:" + num3.toExponential(2));
var num4 = 99;
alert("toPrecision <=> num4(1):" + num4.toPrecision(1) + "\tnum4(2):" + num4.toPrecision(2) + "\tnum4(3):" + num4.toPrecision(3));
</script>
</head>
<body>
</body>
</html>
结果:






浙公网安备 33010602011771号