You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
每个内置函数对象,包含构造器,都有值为字符串类型的 name 属性。除非另有说明,该属性值为规范赋予函数的名称。匿名函数 name 属性值为空字符串。对于指定为对象属性的函数,名称值是用于访问函数的 属性名称 字符串。被指定为内置属性的 get 或 set 访问器的函数,其 name 为 get 或 set 后的 属性名称。对于每个属性键为 Symbol 值的内置函数,将明确指定 name 属性的值。
ECMAScript 标准内置对象
Function.length
为什么是1?无论ECMAScript Script 或 Module 何时开始执行,都有一些确定的内置对象可用。其中之一,全局对象 是执行程序 词法环境 的一部分。其它内置对象可以作为 全局对象 的初始化属性访问,也可以作为可访问的内置对象的属性间接访问。
除非另有说明,可作为函数调用的内置对象是具有 重学js —— 内置函数对象 中描述特征的内置 函数对象。除非另有说明,内置对象的
[[Extensible]]
内置插槽初始值为 true。每个内置 函数对象 都有[[Realm]]
内置插槽其值是该对象初始化创建的 领域 的 领域记录许多内置对象是函数:可以传递参数调用它们。此外有一些对象是构造器:它们能被
new
操作符调用。每个内置函数,规范描述了该函数所需的参数以及该 函数对象 的属性。每个内置 构造器,规范还描述了该构造函数的原型对象的属性,以及使用new
表达式调用该 构造器 返回的特定对象实例的属性。除非另有说明,如果调用内置函数或 构造器 时传递少于该函数指定要求的参数,该函数或 构造器 的行为应与给足附加参数的行为完全相同,这些没有传递值过来的参数默认有
undefined
值。这些缺失的参数被认为 “不存在” 且可以通过规范算法识别。在特定函数的描述中,重学js —— 内置函数对象 中提到的 this value 和 NewTarget 含义相同。除非另有说明,如果调用内置函数或 构造器 时传递多于该函数指定要求的参数,多余的参数在该函数调用求值时被忽略。但是,实现可以定义与此类参数有关的特定于实现的行为,只要该行为不引发
TypeError
异常,而该TypeError
异常仅是根据是否存在额外的参数来确定的。内置函数 原型
除非另有说明,每个内置函数和 构造器 都有函数原型对象,其为 Function.prototype 表达式的初始值,也作为该对象
[[Prototype]]
内置插槽的值。除非另有说明,每个内置原型对象都有
Object
原型对象,其为 Object.prototype 表达式的初始值,也是该对象[[Prototype]]
内置插槽的值,除了Object
原型对象本身。没有实现
[[Construct]]
内置方法的内置函数对象不会被识别为构造器,除非对特定函数另有说明。规范中定义的每个内置 函数对象 都由调用 CreateBuiltinFunction 抽象操作创建。
内置函数 length
每个内置 函数对象,包括构造器,都有一个值为 整数 的
length
属性。除非另有说明,该值默认等于函数显示的命名参数的最大数量。可选参数(规范中抽象方法使用[]
括起来的参数)或剩余参数(规范中抽象方法使用«...name»
形式的参数)不包含在默认的参数计数中。除非另有说明,内置 函数对象 的
length
属性描述符为{ [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }
。内置函数 name
每个内置函数对象,包含构造器,都有值为字符串类型的
name
属性。除非另有说明,该属性值为规范赋予函数的名称。匿名函数name
属性值为空字符串。对于指定为对象属性的函数,名称值是用于访问函数的 属性名称 字符串。被指定为内置属性的 get 或 set 访问器的函数,其name
为 get 或 set 后的 属性名称。对于每个属性键为Symbol
值的内置函数,将明确指定name
属性的值。除非另有说明,内置 函数对象 的
name
属性描述符为{ [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }
。除非另有说明,规范中 18 ~ 26 章和 附录 B.2 中每个 数据属性 的属性描述符为
{ [[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true }
。除非另有说明,规范中 18 ~ 26 章和 附录 B.2 中每个 访问器属性 的属性描述符为
{ [[Enumerable]]: false, [[Configurable]]: true }
。如果只描述了一个 get 访问函数,那么 set 访问函数就是默认值 undefined。如果只描述了一个 set 访问函数,那么 get 访问函数就是默认值 undefined。The text was updated successfully, but these errors were encountered: