码迷,mamicode.com
首页 > 其他好文 > 详细

5.6 基本包装类型

时间:2018-01-06 16:36:53      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:6.2   toe   pos   sub   code   eva   number   接受   ring   

5.6 基本包装类型(Boolean,Number,String)
基本类型不是对象为什么会有方法呢?(黑人?)
后台处理了一系列的操作,以下就是例子,创建后立即销毁

var s1 = "some text";
var s2 = s1.substring(2);
===
var s1 = new String("some text");
var s2 = s1.sbustring(2);
s1 = null;

引用类型和基本包类型的主要区别就是对象的生存周期
引用类型:执行流离开当前作用域之前,都一直保存在内存中
基本类型包:只存在于代码执行的瞬间,然后立即销毁

var s1 = "some text";
s1.color = "red";
l(s1.color);//undefined

===
//使用new调用基本包类型的构造函数和直接调用痛么的转型函数是不一样的。
var value = "24";
var number = Number(value);
l(typeof number);//number
var number = new Number(value);
l(typeof number);//object

5.6.1 Boolean类型(建议永远不要用Boolean对象)
Boolean 重写了valueOf方法: 返回基本类型true,false
重写了toString方法, 返回字符串"true","false"

var falseObject = new Boolean(false);
var result = falseObject && true;
l(result);//true

var falseValue = false;
result = falseValue && true;
l(result);//false

5.6.2 Number类型
valueOf: 返回对象基本类型的数值
toString: 字符串形式的数值
toLocalString: 字符串形式的数值
toFixed: 会按照指定的小数位返回数值的字符串表示
toExponential: 返回以指数表示法(e表示法)
toPrecision: 可能会返回固定大小的个数,也可能返回指数格式,根据接受的参数(数值的所有位数)

//toString
var num = 10;
l(num.toString());//10
l(num.toString(2));//1010
l(num.toString(8));//12
l(num.toString(10));//10
l(num.toString(16));//a
//toFixed
var num = 10;
l(num.toFixed(2))//10.00
//toExponential
var num = 10;
l(num.toExponential(1))//1.0e+1
?var num = 99;
//toPrecision
l(num.toPrecision(1));//1e+2
l(num.toPrecision(2));//99
l(num.toPrecision(3));//99.0

5.6 基本包装类型

标签:6.2   toe   pos   sub   code   eva   number   接受   ring   

原文地址:https://www.cnblogs.com/caijw/p/8214547.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!