Error原生類型
表示錯誤對象
--EvalError,URLError,RangeError,etc.
捕獲方式
--try{ throw new Error()}catch(e){}
--理論上可以throw出任意對象
Error對象IE和FireFox公有屬性
--message:錯誤訊息
Error瀏覽器特定屬性
IE:
--description :同message屬性
--number:錯誤編號,只有指令碼引擎拋出的錯誤才有屬性
FireFox:
--fileName:建立錯誤的檔案
--lineNumber:建立錯誤對象的行號
--stack:建立錯誤時的堆棧資訊
Error原生類型的擴充
Error.create(message,errorinfo)方法
--建立新的Error對象
--將Error對象的message屬性設定為true
--將errorinfo上的資訊附加到Error對象
Error.prototype.popStackFrame()方法:
--為Error對象整理出更優雅直觀的資訊(lineNumber,stack)
--對於IE無效
--如果一個方法僅僅是返回Error對象而不是拋出對象,則在返回前應該調用該方法
Function原生類型
與Array,String類型處理同等地位
每個方法均為Function類型的執行個體
--typeof(Array)==typeof(Function)=="function"
方法調用時根據發起的對象來確定this上下文引用
Funciton.prototype.apply(instance,args)
Function.prototype.call(instance,[arg1,[,arg2,[,......]]])
Fucntion原生類型擴充
Function.createDelegage(instance,method)方法:
--得到一個方法引用,執行它時會調用method方法,並保證method方法的上下文this引用為instance
Function.createCallback(method,context)方法
--得到一個方法引用,執行它時則會調用method方法,並將context作為額外的參數傳入
Boolean原生類型
使用布爾值,而不要使用Boolean對象
--true和false而不是new Boolean(..)
-- (new Boolean(false) &&true)==true ??
Boolean原生類型的擴充
parse靜態方法
--Boolean.Parse("true") //true
--Boolean.Parse("tRuE") //true
Number原生類型
32位整數或64位浮點數(IEEE754)
整數標記法
--var num = 50 ; //10進位標記法
--var num = 060; // 8進位標記法 值48
--var num = 0xFF //16進位標記法 值255
使用ParseInt("09") 為0 得到的數是8進位標記法
使用ParseInt("09",10) 為9 第二個參數表示使用10進位轉換
浮點數標記法
--var num=5.0;
--var num=3.2e9 //3.2*10^9 ,科學計數法
靜態屬性
浮點數的範圍
--Number.MAX_VALUE //最大值
--Number.MIN_VALUE //最小值
極值
--Number.POSITIVE_INFINITY //正無窮大
--Number.NEGATIVE_INFINITY //負無窮大
不是一個數字(非數字)
--Number.NaN
Number原生類型的擴充
數字和字串之間的轉換
字串-> 數字
--Number.parseLocale(value)
--Number.parseInvariant(value)
數字->字串
--Number.prototype.format(format)
--Number.prototype.localeFormat(format)
localeFormat和parseLocale方法
--需要將EnableScriptGlobalization屬性設定為true
--瀏覽器中設定的語言文化
--可以通過Page.Culture來改變
--格式化會輸出到頁面
parseInvariant和format方法
--相當於語言文化為en-US