【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>

  结果:

 

posted @ 2016-07-06 11:52  cutter_point  阅读(119)  评论(0)    收藏  举报