5.6 基本包裝類型
阿新 • • 發佈:2018-01-06
oca 小數 根據 5.6 大小 result 數值 代碼執行 font
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 基本包裝類型