javascript本地对象、内置对象、宿主对象和自定义对象

傷城~ 2022-07-15 15:21 418阅读 0赞

1. 本地对象

  1. ECMA-262把本地对象(native object)定义为“独立于宿主环境的ECMAScript实现提供的对象”。
  2. 此处的宿主环境,简单来说就是用户的机器环境,包括**操作系统和浏览器**。
  3. 本地对象包括如下内容:ObjectFunctionStringArrayBooleanNumberDate RegExpErrorEvalErrorRangeErrorReferenceErrorSyntaxErrorTypeErrorURIError。由此可知,本地对象是ECMA-2定义的类(引用类型)。

2. 内置对象

  1. ECMA-262把内置对象(built-in object)定义为“ ECMAScript实现提供的,独立与宿主环境的所有对象,在ECMAScript程序开始执行时出现”。这意味着开发者不必明确实例化内置对象,它已经被实例化了。ECMA只定义了两个内置对象,即GlobalMath(它们也是本地对象,根据定义,所有内置对象都是本地对象)。

1)Math对象的常见属性:E(算术常量e,即自然对数的底数,约为2.718)、PI(圆周率,约为3.14159)。

  1. Math对象的常见方法:
  2. max(x,y): 返回xy中较大的值; min(x,y): 返回xy中较小的值; random(): 返回0~1之间的随机数;
  3. round(x): 对数四舍五入; floor(x): 对数向下取整; ceil(x): 对数向上取整;

2)Global对象是ECMAScript中最特别的对象,因为实际上它根本不存在,不信,在浏览器console中输入Global,报错。

  1. 全局对象是预定义的对象,作为JavaScript全局函数和全局属性的占位符。全局对象不是任何对象的属性,所以它没有名称?。
  2. 在顶层JavaScript代码中,可以用关键字this来引用全局对象。但通常不必用这种方式引用全局对象,因为**全局对象是作用域链的头**,这意味着所有**非限定性**的变量和函数名都会作为该对象的属性来查询。例如,当JavaScript代码引用parseInt函数时,它引用的是全局对象的parseInt属性。
  3. 全局对象是作用域链的头,这意味着在**顶层**JavaScript中申明的变量都将成为全局对象的属性。
  4. 全局对象只是一个对象,而不是类。即没有构造函数,也无法实例化一个新的全局对象。
  5. 顶层属性(全局属性):
  6. NaN: 指示某个值是不是数字值; undefined: 未定义的值; Infinity: 正的无穷大的数值。
  7. 顶层函数(全局方法):
  8. isNaN(): 检测某个值是否为数值; isFinite(): 检测某个值是否为无穷大的值;
  9. Number(): 把对象的值转换为数值; String(): 把对象的值转换为字符串; Boolean(): 把对象的值转换为布尔值;
  10. parseInt(): 解析一个字符串并返回整数; parseFloat(): 解析一个字符串并返回浮点值;
  11. encodeURI(): 将字符创编码为URI decodeURI(): 解码某个编码的URI
  12. encodeURIComponent(): 将字符串编码为URI组件; decodeURIComponent(): 解码某个编码的URI组件;
  13. escape(): 对字符进行编码; unescape(): 对由escape编码的字符串进行解码;
  14. eval(): 计算JavaScript字符串,并把它作为脚本代码来执行;

3. 宿主对象

  1. 所有非本地对象都是宿主对象(host Object),即由ECMAScript实现的宿主环境提供的对象。
  2. 所有的BOMDOM对象都是宿主对象。

4. 自定义对象

  1. 顾名思义,就是开发人员自己定义的对象,javascript允许使用自定义对象,使javascript得到扩充。

5. 总结

  1. 本地对象是ECMA官方定义好的对象;内置对象也是本地对象,只包括Global对象和Math对象;宿主对象包括BOMDOM对象。

原文链接:http://www.cnblogs.com/sun-mile-rain/p/4037424.html(本文有删改)。

发表评论

表情:
评论列表 (有 0 条评论,418人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Javascript对象

    1 什么是对象 JavaScript 中的所有事物都是对象,如:字符串、数值、数组、函数等,每个对象带有属性和方法。 对象的属性:反映该对象某些特定的性质的,如:字符串