`
rockyee
  • 浏览: 30735 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

[转]javascript Error、Function、Boolean、Number原生类型的扩展

阅读更多
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.createDelegate(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
分享到:
评论

相关推荐

    由Javascript的继承引发的:抽象类、接口、多态,甚至是类型转换!

    此外,`Number()`, `String()`, `Boolean()`等函数可以进行显式类型转换。 在实际开发中,了解并熟练运用这些概念能帮助我们编写出更加灵活、可维护的代码。例如,使用接口来规范API的输入输出,利用多态提高代码...

    javascript一些问题解答

    - **数据类型**:JavaScript支持多种内置的数据类型,包括但不限于字符串(String)、数字(Number)、布尔值(Boolean)、数组(Array)、对象(Object)等。 #### 2. **函数(Function)** - 函数是JavaScript的核心组成...

    JavaScript — 原生对象和方法1

    JavaScript中的`Object`, `Array`, `Function`, `String`, `Number`, `Boolean`, `Date`, `RegExp`等都是内置类型,它们都有各自的实例方法和属性。例如,`Object.create`用于创建新对象,`Object.getPrototypeOf`...

    javaScript使用详解.pdf

    常见的数据类型有字符串(String)、数字(Number)、布尔值(Boolean)、null、undefined、对象(Object)和Symbol(ES6新增)。 2. 控制流语句:包括条件语句(if...else、switch)、循环语句(for、while、do......

    JavaScript中Object.prototype.toString方法的原理

    在ES3标准中,并没有明确定义所有内置对象的[[Class]]属性值,但通过实践可以发现,原生对象的[[Class]]属性通常有以下几种值:Array、Boolean、Date、Error、Function、Math、Number、Object、RegExp、String。...

    snippets:vanillaJS中的Javascript代码段

    9. **类型转换**:隐式转换和显式转换,toString、valueOf方法,Number、String、Boolean构造函数。 10. **ES6及更高版本新特性**:类(class)、模板字符串、解构赋值、let/const、模块导入导出(import/export)...

    flex_运算符[文].pdf

    复杂数据类型则是由基本数据类型组合而成的,比如Object对象、Array数组、Date日期对象、Error错误对象、Function函数、RegExp正则表达式和XML数据对象。其中,`Object`是所有对象的基类,`Array`可以存储多个值,...

    原生js

    2. 数据类型:JavaScript有七种数据类型,包括基本类型(String、Number、Boolean、Null、Undefined、Symbol、BigInt)和引用类型(Object)。 二、语法结构 1. 函数:JavaScript中的函数是第一类对象,可以作为...

    项目26

    - 显式转换:`Number()`, `String()`, `Boolean()`等函数可以进行类型转换。 10. **BOM(浏览器对象模型)**: - 包含浏览器提供的对象,如`window`、`navigator`、`location`等,允许JavaScript与浏览器交互。 ...

    fine-c

    - 数据类型:包括基本类型(Number、String、Boolean、Null、Undefined)和引用类型(Object,包括Array、Function等)。 - 运算符:包括算术运算符、比较运算符、逻辑运算符等。 - 控制结构:如if...else、...

    对new functionName()定义一个函数的理解

    如果构造函数返回了一个非原始类型(即非null、undefined、boolean、number、string、symbol),则会用该返回值替换`this`对象。 接下来,我们将通过两个实际的应用场景来进一步理解`new`关键字的用途: 1. **模拟...

Global site tag (gtag.js) - Google Analytics