返回顶部
首页 > 资讯 > 前端开发 > html >ecmascript中有什么内置对象
  • 949
分享到

ecmascript中有什么内置对象

2024-04-02 19:04:59 949人浏览 泡泡鱼
摘要

小编给大家分享一下ecmascript中有什么内置对象,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

小编给大家分享一下ecmascript中有什么内置对象,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

ecmascript中内置对象有:全局对象、Object对象、Function对象、Array对象、String对象、Boolean对象、Number对象、Math对象、Date对象、RegExp对象、JSON对象、Error对象。

教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。

ECMAScript 定义一组内置对象 (built-in objects),勾勒出 ECMAScript 实体 的定义。

这些内置对象包括:

全局对象 (global object) ,Object对象 , Function对象 ,Array对象 ,String对象 ,Boolean对象 ,Number对象 , Math对象 ,Date对象 ,RegExp对象 ,jsON对象,和 Error对象: Error , EvalError ,RangeError ,ReferenceError ,SyntaxError ,TypeError , URIError 。

全局对象

唯一的全局对象建立在控制进入任何执行环境之前。

除非另外指明,全局对象的标准内置属性拥有特性 {[[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true}。

全局对象没有 [[Construct]] 内部属性 ; 全局对象不可能当做构造器用 new 运算符调用。

全局对象没有 [[Call]] 内部属性,全局对象不可能当做函数来调用。

全局对象的 [[Prototype]] 和 [[Class]] 内部属性值是依赖于实现的。

除了本规范定义的属性之外,全局对象还可以拥有额外的宿主定义的属性。全局对象可包含一个值是全局对象自身的属性;例如,在 html 文档对象模型中全局对象的 window 属性是全局对象自身。

Object 对象

作为函数调用 Object 构造器

当把 Object 当做一个函数来调用,而不是一个构造器,它会执行一个类型转换。

Object ( [ value ] )

当以一个参数 value 或者无参数调用 Object 函数,采用如下步骤:

  • 如果 value 是 null, undefined 或未指定,则创建并返回一个新 Object 对象 , 这个对象与仿佛用相同参数调用标准内置的 Object 构造器 (15.2.2.1) 的结果一样 .

  • 返回 ToObject(value).

Object 构造器

当 Object 是 new 表达式调用的一部分时,它是一个构造器,可创建一个对象。

new Object ( [ value ] )

当以一个参数 value 或者无参数调用 Object 构造器,采用如下步骤:

  • 如果提供了 value, 则如果 Type(value) 是 Object, 则如果 value 是个原生 ECMAScript 对象 , 不创建新对象,简单的返回 value.如果 value 是宿主对象 , 则采取动作和返回依赖实现的结果的方式可以使依赖于宿主对象的 .如果 Type(value) 是 String, 返回 ToObject(value).如果 Type(value) 是 Boolean, 返回 ToObject(value).如果 Type(value) 是 Number, 返回 ToObject(value).

  • 断言 : 未提供参数 value 或其类型是 Null 或 Undefined.

  • 令 obj 为一个新创建的原生 ECMAScript 对象 .

  • 设定 obj 的 [[Prototype]] 内部属性为标准内置的 Object 的 prototype 对象 (15.2.4).

  • 设定 obj 的 [[Class]] 内部属性为 "Object".

  • 设定 obj 的 [[Extensible]] 内部属性为 true.

  • 设定 obj 的 8.12 指定的所有内部方法

  • 返回 obj.

Function 对象

作为函数调用 Function 构造器

当将 Function 作为函数来调用,而不是作为构造器,它会创建并初始化一个新函数对象。所以函数调用 Function(…) 与用相同参数的 new Function(…) 表达式创建的对象相同。

Function (p1, p2, … , pn, body)

当以 p1, p2, … , pn, body 作为参数调用 Function 函数(这里的 n 可以是 0,也就是说没有“p”参数,这时还可以不提供 body),采用如下步骤:

  • 创建并返回一个新函数对象,它仿佛是用相同参数给标准内置构造器 Function (15.3.2.1). 用一个 new 表达式创建的。

Function 构造器

当 Function 作为 new 表达式的一部分被调用时,它是一个构造器:它初始化新创建的对象。

new Function (p1, p2, … , pn, body)

最后一个参数指定为函数的 body( 可执行代码 );之前的任何参数都指定为形式参数。

当以 p1, p2, … , pn, body 作为参数调用 Function 构造器(这里的 n 可以是 0,也就是说没有“p”参数,这时还可以不提供 body),采用如下步骤:

  • 令 arGCount 为传给这个函数调用的参数总数 .

  • 令 P 为空字符串 .

  • 如果 argCount = 0, 令 body 为空字符串 .

  • 否则如果 argCount = 1, 令 body 为那个参数 .

  • 否则 , argCount > 1令 firstArg 为第一个参数 .令 P 为 ToString(firstArg).令 k 为 2.只要 k < argCount 就重复令 nextArg 为第 k 个参数 .令 P 为之前的 P 值,字符串 ","(一个逗号),ToString(nextArg) 串联的结果。k 递增 1.令 body 为第 k 个参数 .

  • 令 body 为 ToString(body).

  • 如果 P 不可解析为一个 FORMalParameterListopt,则抛出一个 SyntaxError 异常 .

  • 如果 body 不可解析为 FunctionBody,则抛出一个 SyntaxError 异常 .

  • 如果 body 是严格模式代码 ( 见 10.1.1),则令 strict 为 true, 否则令 strict 为 false.

  • 如果 strict 是 true, 适用 13.1 指定抛出的任何异常 .

  • 返回一个新创建的函数对象,它是依照 13.2 指定 -- 专递 P 作为 FormalParameterList,body 作为 FunctionBody,全局环境作为 Scope 参数,strict 作为严格模式标志 -- 创建的。

每个函数都会自动创建一个 prototype 属性,用来支持函数被当做构造器使用的可能性。

为每个形参指定一个参数是允许的,但没必要。例如以下三个表达式产生相同的结果:

new Function("a", "b", "c", "return a+b+c") new Function("a, b, c", "return a+b+c") new Function("a,b", "c", "return a+b+c")

Array 对象

数组是值的有序集合,数组中的每个值称为一个元素,每个元素在数组中都有一个数字位置,称为索引,索引从 0 开始,依次递增。在 javascript 中,您可以使用 Array 对象定义数组,此外,Array 对象中还提供了各种有关数组的属性和方法。

创建 Array 对象的语法格式如下:

var arr = new Array(values);
var arr = Array(values);

其中,values 为数组中各个元素组成的列表,多个元素之间使用逗号分隔。

String 对象

String 对象用于处理字符串,其中提供了大量操作字符串的方法,以及一些属性。

创建 String 对象的语法格式如下:

var val = new String(value);
var val = String(value);

其中参数 value 为要创建的字符串或字符串对象。

JavaScript 中,字符串和字符串对象之间能够自由转换,因此不论是创建字符串对象还是直接声明字符串类型的变量,都可以直接使用字符串对象中提供的方法和属性。

Boolean对象

JavaScript 布尔值可以有以下两个值之一:true 或 false。

作为函数调用布尔构造器

当把 Boolean 作为函数来调用,而不是作为构造器,它执行一个类型转换。

Boolean (value)

返回由 ToBoolean(value) 计算出的布尔值(非布尔对象)。

布尔构造器

当 Boolean 作为 new 表达式的一部分来调用,那么它是一个构造器:它初始化新创建的对象。

new Boolean (value)

新构造对象的 [[Prototype]] 内部属性设定为原始布尔原型对象,它是 Boolean.prototype (15.6.3.1) 的初始值。

新构造对象的 [[Class]] 内部属性设定为 "Boolean"。

新构造对象的 [[PrimitiveValue]] 内部属性设定为 ToBoolean(value)。

新构造对象的 [[Extensible]] 内部属性设定为 true。

Number 对象

在 JavaScript 中您可以使用十进制、十六进制或八进制表示法来表示整数或浮点数。与其它编程语言不同,JavaScript 中的数字并不区分整数和浮点数,统一使用 IEEE754 标准(二进制浮点数算术标准)的 64 位浮点格式表示数字,能表示的最大值(Number.MAX_VALUE)为 ±1.7976931348623157e+308,最小值(Number.MIN_VALUE)为 ±5e-324。示例代码如下:

var x = 123;    // 整数
var y = 3.14;   // 浮点数
var z = 0xff;   // 十六进制数:255

对于比较大的数字可以使用指数表示法来表示,例如 6.02e+23 等于 6.02 x 10²³,示例代码如下:

var x = 1.57e4;     // 等于 15700
var y = 4.25e+6;    // 等于 4250000
var z = 4.25e-6;    // 等于 0.00000425

提示:JavaScript 中能够表示的最大的整数是 2⁵³ - 1,即 9007199254740991,能够表示的最小整数是 -(2⁵³ - 1),即 -9007199254740991。

除了可以使用十进制表示数字外,您也可以使用八进制或十六进制表示法来表示数字,其中八进制表示法使用 0 作为前缀,十六进制表示法使用 0x 作为前缀,示例代码如下:

var a = 0377;     // 等于 255
var b = 0123;     // 等于 83
var c = 0xff;     // 等于 255
var d = 0xb4;     // 等于 180

注意:整数可以用十进制、十六进制和八进制表示法表示,浮点数可以用十进制或指数表示法表示。

Math 对象

Math 是 JavaScript 中的一个内置对象,其中提供了一些数学中常用的常量值和函数,用来实现一些数学中常见计算,例如计算平均数、求绝对值、四舍五入等。

与前面介绍的几个对象(例如 Number 对象、String 对象、Array 对象等)不同,调用 Math 对象中的属性和方法无需预先使用 new 运算符来创建它,直接将 Math 作为对象调用即可,例如:

var pi_val = Math.PI;                 // 数学中 π 的值:3.141592653589793
var abs_val = Math.sin(-5.35);  // -5.35 的绝对值:5.35

Math 对象是拥有一些命名属性的单一对象,其中一些属性值是函数。

Math 对象的 [[Prototype]] 内部属性值是标准内置 Object 原型对象 (15.2.4)。Math 对象的 [[Class]] 内部属性值是 "Math"。

Math 对象没有 [[Construct]] 内部属性 ; Math 对象不能作为构造器被 new 运算符调用。

Math 对象没有 [[Call]] 内部属性;Math 对象不能作为函数被调用。

Date 对象

Date 对象是 JavaScript 内置的对象,通过它您可以访问计算机系统的时间,此外,Date 对象中还提供了多种用于管理、操作和格式化时间/日期的方法。

RegExp ( 正则表达式 ) 对象

一个 RegExp 对象包含一个正则表达式和关联的标志。

正则表达式的格式和功能是以 Perl 5 程序语言的正则表达式设施为蓝本的。

JavaScript 字符串是在编程中使用最多的一种数据类型,很多地方都需要对字符串进行操作,例如判断一个字符串是否为一个合法的 E-mail 地址、从字符串截取指定的部分等。

正则表达式是一种用于匹配字符串或特殊字符的一种逻辑公式,所谓逻辑公式就是由一些特定字符组合成的,用来表示某些规则的特殊字符串,可以表达对字符串数据的过滤逻辑。

在 JavaScript 中需要借助 RegExp 对象来使用正则表达式,要创建 RegExp 对象有两种方法,如下所示:

var patt = new RegExp(pattern, modifiers);
var patt = /pattern/modifiers;

参数说明如下:

  • pattern:正则表达式,按照正则表达式的语法定义的正则表达式;

  • modifiers:修饰符,用来设置字符串的匹配模式。

JSON 对象

JSON 对象是一个单一的对象,它包含两个函数,parse 和 stringify,是用于解析和构造 JSON 文本的。JSON 数据的交换格式在 RFC4627 里进行了描述。 <Http://www.ietf.org/rfc/rfc4627.txt>。本规范里面的 JSON 交换格式会使用 RFC4627 里所描述的,以下两点除外:

  • ECMAScript JSON 文法中的顶级 JSONText 产生式是由 JSONValue 构成,而不是 RFC4627 中限制成的 JSONObject 或者 JSONArray。

  • 确认 JSON.parse 和 JSON.stringify 的实现,它们必须准确的支持本规范描述的交换格式,而不允许对格式进行删除或扩展。这一点要区别于 RFC4627,它允许 JSON 解析器接受 non-JSON 的格式和扩展。

JSON 对象内部属性 [[Prototype]] 的值是标准内建的 Object 原型对象(15.2.4)。内部属性 [[Class]] 的值是“JSON”。内部属性 [[Extensible]] 的值设置为 true。

JSON 对象没有内部属性 [[Construct]];不能把 JSON 对象当作构造器来使用 new 操作符。

JSON 对象没有内部属性 [[Call]]; 不能把 JSON 对象当作函数来调用。

Error 对象

Error对象的实例在运行时遇到错误的情况下会被当做异常抛出。Error对象也可以作为用户自定义异常类的基对象。

以上是“ecmascript中有什么内置对象”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网html频道!

--结束END--

本文标题: ecmascript中有什么内置对象

本文链接: https://lsjlt.com/news/87377.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • ecmascript中有什么内置对象
    小编给大家分享一下ecmascript中有什么内置对象,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2024-04-02
  • jsp的内置对象有什么用
    JSP(JavaServer Pages)是一种用于动态生成网页的Java技术。JSP提供了一组内置对象,这些对象可以在JSP页面中...
    99+
    2023-08-15
    jsp
  • JSP中内置对象是什么
    这篇文章将为大家详细讲解有关JSP中内置对象是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。JSP内置对象简单概述: (1) HttpServletRequest类的Request对象 作用:代表请求...
    99+
    2023-06-03
  • javascript中有没有内置对象
    这篇文章主要介绍了javascript中有没有内置对象,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 javas...
    99+
    2024-04-02
  • ECMAScript定义类或对象的方法是什么
    ECMAScript通过使用class关键字来定义类和对象的方法。定义一个类的语法如下:```javascriptclass Cla...
    99+
    2023-10-11
    ECMAScript
  • javascript内置对象有哪些
    javascript中的内置对象有:1.值属性;2.函数属性;3.基本对象;4.错误对象;5.数字和日期对象;6.字符串;7.可索引的集合对象;8.使用键的集合对象;9.结构化数据;10.控制抽象对象;11.反射;javascript中的...
    99+
    2024-04-02
  • jsp有多少内置对象
    这篇文章主要讲解了“jsp有多少内置对象”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jsp有多少内置对象”吧!内置对象有:1、Request对象;2、Response对象;3、out对象;...
    99+
    2023-06-20
  • 在java中jsp有哪些内置对象
    java中jsp的内置对象:request:封装客户端的请求,其中包含来自GET或POST请求的参数;response:封装服务器对客户端的响应;pageContext:通过该对象可以获取其他对象;session:封装用户会话的对象;app...
    99+
    2024-04-02
  • jsp的内置对象有哪些
    jsp的内置对象有:1、request。2、response。3、session。4、application。5、out。6、pagecontext。7、config。8、page。9、exception。request对象request ...
    99+
    2024-04-02
  • java有哪些jsp内置对象
    这篇文章主要介绍“java有哪些jsp内置对象”,在日常操作中,相信很多人在java有哪些jsp内置对象问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java有哪些jsp内置对象”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-20
  • angular的内置对象有哪些
    Angular内置对象包括以下几种: ElementRef:用于获取DOM元素的引用。 Renderer2:用于与DOM进行交互,...
    99+
    2023-10-24
    angular
  • JavaScript内置对象的概念是什么
    这篇“JavaScript内置对象的概念是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇...
    99+
    2024-04-02
  • javascript中有哪些常见的内置对象
    这篇文章主要讲解了“javascript中有哪些常见的内置对象”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript中有哪些常见的内置对象”吧!...
    99+
    2024-04-02
  • JavaScript(内置对象)
    目录 一,JavaScript内置对象二,Array对象2.1,常用属性和方法2.2,基本方法 三,Date对象3.1,常用方法3.2,小案例 四,Math对象 一,JavaScr...
    99+
    2023-09-07
    javascript 开发语言 ecmascript
  • Java对象内存构成有什么用
    这篇文章主要介绍了Java对象内存构成有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Java对象内存构成今天来讲些抽象的东西 -- 对象头,因为我在学习的过程中发现很...
    99+
    2023-06-20
  • python中vim有什么对象
    小编给大家分享一下python中vim有什么对象,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Python的优点有哪些1、简单易用,与C/C++、Java、C# ...
    99+
    2023-06-14
  • JavaScript中ECMAScript是什么
    这篇文章主要介绍了JavaScript中ECMAScript是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是 ECMAScript...
    99+
    2024-04-02
  • JSP有哪些内置对象方法
    这篇文章主要介绍了JSP有哪些内置对象方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。request对象 客户端的请求信息被封装在request对象中,通过它才能了解到客户...
    99+
    2023-06-03
  • JSP内置对象作用范围是什么
    JSP内置对象的作用范围是在JSP页面内部。这意味着这些对象只在当前JSP页面中可用,并且不能在其他页面或其他环境中访问。这些内置对...
    99+
    2023-09-15
    JSP
  • JSP内置对象session的作用是什么
    JSP内置对象session的作用是在用户访问网站期间存储和传递数据。Session对象在用户访问网站时被创建,用于在不同的请求之间...
    99+
    2023-09-14
    JSP session
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作