十一、附录 c:内置对象

本附录列出了 ECMAScript 标准中概述的内置构造函数,以及这些构造函数创建的对象的属性和方法。

对象

Object()是创建对象的构造函数,例如:

>>> var o = new Object();

这与使用对象文字相同:

>>> var o = {}; // recommended

您可以将任何内容传递给构造函数,它会尝试猜测它是什么,并使用更合适的构造函数。例如,将字符串传递给 new Object()将与使用 new String()构造函数相同。这不是一个推荐的做法,但仍然是可能的。

>>> var o = new Object('something');
>>> o.constructor
String()
>>> var o = new Object(123);
>>> o.constructor
Number()

所有其他内置或自定义对象都从对象继承。所以下面讨论的属性和方法适用于所有类型的对象。

对象构造器的成员

|

属性/方法

|

描述

| | --- | --- | | Object.prototype | 所有对象的原型(也是对象本身)。您添加到此原型中的任何内容都将被所有其他对象继承。

>>> var s = new String('noodles');
>>> Object.prototype.custom = 1;
1
>>> s.custom
1

|

由对象构造器创建的对象的成员

|

属性/方法

|

描述

| | --- | --- | | constructor | 积分回到 Object

>>> Object.prototype. constructor === Object
true
>>> var o = new Object();
>>> o.constructor === Object
true

| | toString(radix) | 返回对象的字符串表示形式。如果对象恰好是一个 Number对象,那么 radix参数定义返回数字的基数。 radix默认为 10。

>>> var o = {prop: 1};
>>> o.toString()
"[object Object]"
>>> var n = new Number(255);
>>> n.toString()
"255"
>>> n.toString(16)
"ff"

| | toLocaleString() | 与 toString()相同,但匹配当前区域设置。旨在由对象(如 Date())实现,并提供特定于区域设置的值,如不同的日期格式。 | | valueOf() | 返回 this对象本身,但对于其他类型的对象可能会返回不同的值。例如, Number对象返回一个原始数字, Date对象返回一个时间戳。

>>> var o = {};
>>> typeof o.valueOf()
"object"
>>> var n = new Number(101);
>>> typeof n.valueOf()
"number"
>>> var d = new Date();
>>> typeof d.valueOf()
"number"
>>> d.valueOf()
1208158875493

| | hasOwnProperty(prop) | 如果属性是对象的自有属性,则返回 true,如果是从原型链继承的,则返回 false。如果属性不存在,也返回 false

>>> var o = {prop: 1};
>>> o.hasOwnProperty('prop')
true
>>> o.hasOwnProperty('toString')
false

| | isPrototypeOf(obj) | 如果一个对象被用作另一个对象的原型,则返回 true。原型链中的任何对象都可以被测试,不仅仅是直接祖先。

>>> var s = new String('');
>>> Object.prototype.isPrototypeOf(s)
true
>>> String.prototype.isPrototypeOf(s)
true
>>> Array.prototype.isPrototypeOf(s)
false

| | propertyIsEnumerable``(prop) | 如果属性出现在强制循环中,则返回 true

>>> var a = [1,2,3];
>>> a.propertyIsEnumerable('length')
false
>>> a.propertyIsEnumerable(0)
true

|

阵列

Array构造函数创建数组对象:

>>> var a = new Array(1,2,3);

这与数组文字相同:

>>> var a = [1,2,3]; //recommended

当您只向 Array构造函数传递一个数值时,它被假定为数组长度。将创建一个具有此长度的数组,并填充 undefined元素。

>>> var a = new Array(3);
>>> a.length
3
>>> a
[undefined, undefined, undefined]

这有时会导致一些意想不到的行为。例如,数组文字的下列用法是有效的:

>>> var a = [3.14]
>>> a
[3.14]

但是,将浮点数传递给 Array构造函数是错误的:

>>> var a = new Array(3.14)
invalid array length

数组对象的成员

|

属性/方法

|

描述

| | --- | --- | | length | 数组中的元素数量。

>>> [1,2,3,4].length
4

| | concat(i1, i2, i3,...) | 将数组合并在一起。

>>> [1,2].concat([10,20], [300,400])
[1, 2, 10, 20, 300, 400]

| | join(separator) | 将数组转换为字符串。分隔符参数是字符串,默认值是逗号。

>>> [1,2,3].join()
"1,2,3"
>>> [1,2,3].join('|')
"1|2|3"
>>> [1,2,3].join(' is less than ')
"1 is less than 2 is less than 3"

| | pop() | 移除数组的最后一个元素并返回它。

>>> var a = ['une', 'deux', 'trois'];
>>> a.pop()
"trois"
>>> a
["une", "deux"]

| | push(i1, i2, i3,...) | 将元素追加到数组的末尾,并返回修改后的数组的长度。

>>> var a = [];
>>> a.push('zig', 'zag', 'zebra','zoo');
4

| | reverse() | 反转数组的元素并返回修改后的数组。

>>> var a = [1,2,3];
>>> a.reverse()
[3, 2, 1]
>>> a
[3, 2, 1]

| | shift() |

Like pop() but removes the first element, not the last.
>>> var a = [1,2,3];
>>> a.shift();
1
>>> a
[2, 3]

| | slice``(start_indexend_index) | 提取数组的一部分,而不修改源数组。

>>> var a = ['apple', 'banana', 'js', 'css', 'orange'];
>>> a.slice(2,4)
["js", "css"]
>>> a
["apple", "banana", "js", "css", "orange"]

| | sort(callback) | 对数组进行排序。可选地接受用于自定义排序的回调函数。回调函数接收两个数组元素作为参数,如果它们相等,则应返回 0,如果第一个大于,则返回 1,如果第二个大于,则返回-1。自定义排序函数的一个示例,该函数执行适当的数字排序(因为默认为字符排序):函数 customSort(a,b){ 0 如果(a > b)返回 1;如果(a < b)返回-1;返回 0;}sort():的使用示例

>>> var a = [101, 99, 1, 5];
>>> a.sort();
[1, 101, 5, 99]
>>> a.sort(customSort);
[1, 5, 99, 101]
>>> [7,6,5,9].sort(customSort);
[5, 6, 7, 9]

| | splice(start, delete_count, i1, i2, i3,...) | 这可能是最强大的数组函数。它可以同时移除和添加元素。第一个参数是从哪里开始移除,第二个参数是要移除多少个项目,其余参数是要插入到移除的元素中的新元素。

>>> var a = ['apple', 'banana', 'js', 'css', 'orange'];
>>> a.splice(2, 2, 'pear', 'pineapple');
["js", "css"]
>>> a
["apple", "banana", "pear", "pineapple", "orange"]

| | unshift(i1, i2, i3,...) | 像 push()一样,但是在数组的开头而不是结尾添加元素。像 shift()一样,但是添加到数组中,而不是从数组中移除。返回修改后数组的长度。

>>> var a = [1,2,3];
>>> a.unshift('one', 'two');
5
>>> a
["one", "two", 1, 2, 3]

|

功能

JavaScript 函数是对象。它们可以使用 Function构造函数来定义,比如:

>>> var sum = new Function('a', 'b', 'return a + b;');

这相当于函数文字:

>>> var sum = function(a, b){return a + b;};

或者更常见的是:

>>> function sum(a, b){return a + b;}

不鼓励使用 Function构造函数来支持函数文本。

功能对象的成员

|

属性/方法

|

描述

| | --- | --- | | apply( this_obj, params_array) | 允许您调用另一个函数,同时覆盖其 this值。 apply()接受的第一个参数是函数内部要绑定到 this的对象,第二个参数是要传递给被调用函数的参数数组。函数 whatist(){ 0 返回 this . ToString();

}
>>> var myObj = {};
>>> whatIsIt.apply(myObj);
"[object Object]"
>>> whatIsIt.apply(window);
"[object Window]"

| | call(this_obj, p1, p2, p3, ...) | 与 apply()相同,但逐个接受参数,而不是一个数组。 | | length | 函数需要的参数数量。

>>> alert.length
1
>>> parseInt.length
2

|

布尔

Boolean构造器创建布尔对象(不要与布尔原语混淆)。布尔对象不是很有用,为了完整起见,这里列出了它们。

>>> var b = new Boolean();
>>> b.valueOf()
false
>>> b.toString()
"false"

布尔对象与布尔基元值不同。如你所知,所有的对象都是真实的:

>>> b === false
false
>>> typeof b
"object"

除了从 Object继承的属性外,布尔对象没有任何属性。

数字

创建数字对象:

>>> var n = new Number(101);
>>> typeof n
"object"
>>> n.valueOf();
101

Number对象不是基元对象,但是如果对一个基元数使用一个 number 方法,这个基元就会在幕后转换成一个 Number对象,代码就可以工作了。

>>> var n = 123;
>>> typeof n;
"number"
>>> n.toString()
"123"

数字构造器的成员

|

属性/方法

|

描述

| | --- | --- | | Number.MAX_VALUE | 包含最大允许数量的常量属性(不能更改)。

>>> Number.MAX_VALUE
1.7976931348623157e+308
>>> Number.MAX_VALUE = 101;
Number.MAX_VALUE is read-only

| | Number.MIN_VALUE | 在 JavaScript 中可以使用的最小数字。

>>> Number.MIN_VALUE
5e-324

| | Number.NaN | 包含非数字数字。

>>> Number.NaN
NaN
NaN is not equal to anything including itself.
>>> Number.NaN === NaN
false
Number.NaN is more reliable than simply using NaN, because the latter can be overwritten by mistake.
>>> NaN = 1; // don't do this!
1
>>> NaN
1
>>> Number.NaN
NaN

| | Number.POSITIVE_INFINITY | 包含 Infinity号。这比全局 Infinity值(全局对象的属性)更可靠,因为它是只读的。 | | Number.NEGATIVE_INFINITY | 有值 -Infinity。见上文。 |

数字对象的成员

|

属性/方法

|

描述

| | --- | --- | | toFixed(fractionDigits) | 数字对象的定点表示形式为字符串。舍入返回值。

>>> var n = new Number(Math.PI);
>>> n.valueOf();
3.141592653589793
>>> n.toFixed(3)
"3.142"

| | toExponential(fractionDigits) | 数字对象作为字符串的指数表示法。舍入返回值。

>>> var n = new Number(56789);
>>> n.toExponential(2)
"5.68e+4"

| | toPrecision(precision) | 数字对象的字符串表示形式,可以是指数形式,也可以是定点形式,具体取决于数字对象。

>>> var n = new Number(56789);
>>> n.toPrecision(2)
"5.7e+4"
>>> n.toPrecision(5)
"56789"
>>> n.toPrecision(4)
"5.679e+4"
>>> var n = new Number(Math.PI);
>>> n.toPrecision(4)
"3.142"

|

String()构造函数创建字符串对象。如果你像调用对象一样调用一个方法,原始字符串就会变成幕后的对象。

创建字符串对象和字符串原语:

>>> var s_obj = new String('something');
>>> var s_prim = 'something';
>>> typeof s_obj
"object"
>>> typeof s_prim
"string"

===:进行类型比较时,对象和图元不相等

>>> s_obj === s_prim
false
>>> s_obj == s_prim
true

length是字符串对象的一个属性:

>>> s_obj.length
9

如果在一个非对象但是一个原语字符串上访问 length,原语被转换成一个幕后对象,操作成功:

>>> "something".length
9

字符串构造函数的成员

|

属性/方法

|

描述

| | --- | --- | | String.fromCharCode (code1, code2, code3, ...) | 返回使用输入字符代码创建的字符串:

>>> String.fromCharCode (115, 99, 114, 105, 112, 116);
"script"

|

字符串对象的成员

|

属性/方法

|

描述

| | --- | --- | | length | 字符串中的字符数。>>>新字符串(“四”)。长度4 | | charAt(pos) | 返回指定位置的字符。位置从 0 开始。> > >“脚本”。charAt(0);“s” | | charCodeAt(pos) | 返回指定位置的字符代码。> " script " . charcode at(0);115 | | concat(str1, str2, ....) | 返回从输入片段粘附的新字符串。> " > " . concat('zig '、'-'、' zag ');【曲折】 | | indexOf(needle, start) | 如果针与线的一部分匹配,匹配的位置被返回。可选的第二个参数告诉搜索应该从哪里开始。如果没有找到匹配项,则返回-1。> " javascript "。indexOf('scr ')4> " javascript "。indexOf('scr,5)-1 | | lastIndexOf(needle, start) | 与 indexOf()相同,但从字符串末尾开始搜索。“a”的最后一次出现:>>> "爪子" 。3 | | localeCompare(needle) | 比较当前区域设置中的两个字符串。如果两个字符串相等,返回 0 ,如果针在字符串对象之前排序,返回 1 ,否则返回 -1 。> "脚本"。本地 comment stop(crypt)1> > >“脚本”。localeCompare('sscript ')-1> > >“脚本”。本地公司(“脚本”)0 | | 属性/方法 | 描述 | | match(regexp) | 接受正则表达式对象并返回匹配项数组。> > >“R2-D2 和 C-3PO”。匹配(/[0-9]/g)【“2”、“2”、“3”】 | | replace(needle, replacement) | 允许您替换正则表达式模式的匹配结果。替换也可以是回调函数。捕捉模式可用 $1, $2,...$9。> > >“R2-D2”。替换(/2/g,'-two ')“R-two-D-two”> > >“R2-D2”。替换(/(2)/g,' $1$1 ')“R22-D22” | | search(regexp) | 返回第一个正则表达式匹配的位置。> > >“C-3PO”。搜索(/[0-9]/)2 | | slice(start, end) | 返回由开始和结束位置标识的字符串部分。如果 start为负,则开始位置为 length + start,同样如果 end参数为负,则结束位置为 length + end。> > >“R2-D2 和 C-3PO”。切片(4,13)“2 和 C-3”> > >“R2-D2 和 C-3PO”。切片(4,-1)“2 和 C-3P” | | split(separator, limit) | 将字符串转换为数组。第二个参数 limit是可选的。分隔符也可以是正则表达式。>>> "1,2,3,4".拆分(',')[“1”、“2”、“3”、“4”]>>> "1,2,3,4".拆分(',',2)[“1”、“2”] | | substring(start, end) | 类似 slice()。当 startend为负或无效时,它们被认为是 0。如果它们大于字符串长度,则认为它们是长度。如果 end > start,他们的价值观就对调了。> > >“R2-D2 和 C-3PO”。子串(4,13)“2 和 C-3”> > >“R2-D2 和 C-3PO”。子串(13,4)“2 和 C-3” | | 属性/方法 | 描述 | | toLowerCase()``toLocaleLowerCase() | 将字符串转换为小写。>>> "Java" . 托洛特箱 ()【Java】 | | toUpperCase()``toLocaleUpperCase() | 将字符串转换为大写。> "脚本"。toUpperCase()【脚本】 |

日期

Date构造函数可用于几种类型的输入:

  • 您可以传递年、月、月日期、小时、分钟、秒和毫秒的值,如下所示:
>>> new Date(2011, 0, 1, 13, 30, 35, 500)
Sat Jan 01 2011 13:30:35 GMT-0800 (Pacific Standard Time)
  • 您可以跳过任何输入参数,在这种情况下,它们被假定为 0。请注意,月份值从 0(1 月)到 11(12 月),小时从 0 到 23,分和秒从 0 到 59,毫秒从 0 到 999。

  • 您可以传递时间戳:

>>> new Date(1293917435500)
Sat Jan 01 2011 13:30:35 GMT-0800 (Pacific Standard Time)
  • 如果您没有传递任何内容,则假定当前日期/时间为:
>>> new Date()

Fri 2008 年 4 月 18 日 01:13:00 格林尼治标准时间-0700(太平洋夏令时)

  • 如果您传递一个字符串,它将被解析以尝试提取一个可能的日期值:
>>> new Date('May 4, 2008')
Sun May 04 2008 00:00:00 GMT-0700 (Pacific Daylight Time)

日期构造器的成员

|

属性/方法

|

描述

| | --- | --- | | Date.parse(string) | 类似于将字符串传递给 new Date(),该方法解析输入字符串,试图提取有效的日期值。成功时返回时间戳,失败时返回 NaN:>>>日期.解析(“2008 年 5 月 4 日”)1209884400000>>>日期.解析('第四')NaN | | Date.UTC(year, month, date, hours, minutes, seconds, ms) | 返回时间戳,但使用世界协调时,而不是本地时间。>>日期。UTC (2011 年,0.1、13、30、35、500)1293888635500 |

日期对象的成员

|

属性/方法

|

描述/示例

| | --- | --- | | toUTCString() | 与 toString()相同,但在世界时。以下是太平洋标准时间(太平洋标准时间)与世界协调时的不同之处:> > var d =新日期(2010,0.1);> > d.toString()“Fri 2010 年 1 月 01 日 00:00:00:00 GMT-0800(太平洋标准时间)”> > d.toUTCString()【2010 年 1 月 01 日上午 8 点 GMT【免费】 | | toDateString() | 仅返回 toString():的日期部分>>>新日期(2010 年,0,1)。todaytestring(); | | toTimeString() | 仅返回 toString():的时间部分>>>新日期(2010 年,0,1)。toTimeString();“00:00:00 GMT-0800(太平洋标准时间)” | | 属性/方法 | 描述/示例 | | toLocaleString()``toLocaleDateString()``toLocaleTimeString() | 分别相当于 toString(), toDateString()toTimeString(),但是根据当前用户的区域设置,格式更友好。>>新日期(2010,0.1)。tostring();“Fri 2010 年 1 月 01 日 00:00:00:00 GMT-0800(太平洋标准时间)”>>新日期(2010,0.1)。tolocalesring();“2010 年 1 月 01 日星期五上午 12:00:00” | | getTime() setTime(time) | 获取或设置日期对象的时间(使用时间戳)。以下示例创建一个日期并将其向前移动一天:> > var d =新日期(2010,0.1);d.getTime():1262332800000> > d .第七个(即 gettime()+1000 * 60 * 24);1262419200000> > d . tolocalestring()“2010 年 1 月 02 日星期六上午 12:00:00” | | getFullYear()``getUTCFullYear()``setFullYear(year, month, date)``setUTCFullYear(year, month, date) | 使用当地时间或世界协调时时间获取/设置全年。还有 getYear()但是不符合 Y2K,所以要用 getFullYear()。> > var d =新日期(2010,0.1);>>>年()110& gt;年满一年()2010> > > d.setFullYear(2011)1293868800000> > > > d2011 年 1 月 1 日星期六 00:00:00 格林尼治标准时间-0800(太平洋标准时间) | | 属性/方法 | 描述/示例 | | getMonth()``getUTCMonth()``setMonth(month, date)``setUTCMonth(month, date) | 获取/设置月份,从 0(1 月)开始:> > var d =新日期(2010,0.1);>>> d. get 月 ()0>>> d. set 月 (11)1291190400000>>> d. 到本地达特弦 ()“2010 年 12 月 01 日星期三” | | getDate()``getUTCDate()``setDate(date)``setUTCDate(date) | 获取/设置当月日期。> > var d =新日期(2010,0.1);>>> d. 到本地达特弦 ()“2010 年 1 月 01 日星期五”> > d.getDate():1> > d . setdate(31);1264924800000>>> d. 到本地达特弦 ()“2010 年 1 月 31 日星期日” | | 属性/方法 | 描述/示例 | | getHours()``getUTCHours()``setHours(hour, min, sec, ms)``setUTCHours(hour, min, sec, ms)``getMinutes()``getUTCMinutes()``setMinutes(min, sec, ms)``setUTCMinutes(min, sec, ms)``getSeconds()``getUTCSeconds()``setSeconds(sec, ms)``setUTCSeconds(sec, ms)``getMilliseconds()``getUTCMilliseconds()``setMilliseconds(ms)``setUTCMilliseconds (ms) | 获取/设置小时、分钟、秒、毫秒,均从 0 开始。> > var d =新日期(2010,0.1);> > d.getHours() + ':' + d.getMinutes()“0:0”>>> d. set 分钟 (59)1262336399000> > d.getHours() + ':' + d.getMinutes()“0:59” | | getTimezoneOffset() | 返回本地时间和世界时(UTC)之间的差值,以分钟为单位。例如太平洋标准时间和世界协调时之间的差异:>>>新日期 (. 获取时区设置 ()420>>> 420/607 | | 属性/方法 | 描述/示例 | | getDay()``getUTCDay() | 返回一周中的某一天,从 0(星期日)开始:> > var d =新日期(2010,0.1);>>> d. 到本地达特弦 ()“2010 年 1 月 01 日星期五”>>>日 ()5> > var d =新日期(2010,0.3);>>> d. 到本地达特弦 ()“2010 年 1 月 03 日星期日”>>>日 ()0 |

数学

Math与其他内置对象有些不同,因为它不能作为构造函数来创建对象。它只是函数和常数的集合。下面给出一些例子来说明这种差异:

>>> typeof String.prototype
"object"
>>> typeof Date.prototype
"object"
>>> typeof Math.prototype
"undefined"
>>> typeof Math
"object"
>>> typeof String
"function"

数学对象的成员

|

属性/方法

|

描述

| | --- | --- | | Math.E``Math.LN10``Math.LN2``Math.LOG2E``Math.LOG10E``Math.PI``Math.SQRT1_2``Math.SQRT2 | 这些是一些有用的数学常数,都是只读的。以下是他们的价值观:>>>数学。E2.718281828459045>>>类型.LN102.302585092994046>>>类型.LN20.6931471805599453>>>数学。LOG2E1.4426950408889634>>>数学。LOG10E0.4342944819032518>>>数学。产品改进(Product Improve)3.141592653589793> > Math.SQRT1_20.7071067811865476> > Math.SQRT21.4142135623730951 | | Math.acos(x)``Math.asin(x)``Math.atan(x)``Math.atan2(y, x)``Math.cos(x)``Math.sin(x)``Math.tan(x) | 三角函数 | | Math.round(x)``Math.floor(x)``Math.ceil(x) | round()给出最接近的整数, ceil()向上舍入, floor()向下舍入:>>>数学.回合(5.5)6>>>数学.地板(5.5)5>>>数学.天花板(5.1)6 | | 属性/方法 | 描述 | | Math.max(num1, num2, num3, ...)``Math.min(num1, num2, num3, ...) | max()返回传递给它们的最大值, min()返回传递给它们的最小值作为参数。如果输入参数中至少有一个是 NaN,则结果也是 NaN。>>>数学最大值(2,101,4.5)101>>>数学最小值(2,101,4.5)2 | | Math.abs(x) | 绝对值。>>>数学. abs(-101)101>>>数学. abs(101)101 | | Math.exp(x) | 指数函数: Math.Ex的幂 | | Math.log(x) | x的自然对数。 | | Math.sqrt(x) | x的平方根。> > Math.sqrt(9)3> > Math.sqrt(2) === Math.SQRT2 | | Math.pow(x, y) | xy的力量。>>>数学功率(3,2)9 | | Math.random() | 介于 0 和 1 之间的随机数(包括 0)。>>>数学.随机()0.8279076443185321 |

正则表达式

您可以通过使用 RegExp()构造函数并传递表达式模式作为第一个参数和模式修饰符作为第二个参数来创建正则表达式对象。

>>> var re = new RegExp('[dn]o+dle', 'gmi');

这与“面条”、“嘟嘟”、“好吃”等相匹配。这相当于使用正则表达式文字:

>>> var re = ('/[dn]o+dle/gmi'); // recommended

第 4 章和附录 D 包含了更多关于正则表达式和模式的信息。

正则表达式对象的成员

|

属性/方法

|

描述

| | --- | --- | | global | 只读。 true如果在创建 regexp 对象时设置了 g修改器。 | | ignoreCase | 只读。 true如果在创建 regexp 对象时设置了 i修改器。 | | multiline | 只读。 true如果在创建 regexp 对象时设置了 m修改器 | | lastIndex | 包含字符串中下一个匹配应该开始的位置。 test()exec()在匹配成功后设置该位置。仅在使用 g(全局)修饰符时相关。>>>瓦尔重新 = /\dn]o=dle/g;>>加载索引0> > > re.exec(“面条涂鸦”);【面条】>>加载索引6> > > re.exec(“面条涂鸦”);【“嘟嘟”】>>加载索引13> > > re.exec(“面条涂鸦”);>>加载索引0 | | source | 只读。返回正则表达式模式(不带修饰符)。> > var re =/[nd]o+dle/gmi;>>>来源【n]o+dle】 | | 属性/方法 | 描述 | | exec(string) | 将输入字符串与正则表达式匹配。成功匹配时,返回包含匹配项和任何捕获组的数组。当使用 g修改器时,它匹配第一个匹配项并设置 lastIndex属性。当没有匹配时,返回空值。>>>瓦尔 · 雷 [ (dn]) (o) 先生 / g;> > > re.exec(“面条涂鸦”);【“面条”“n”“oo”】> > > re.exec(“面条涂鸦”);【“嘟嘟”、“d”、“oo”】 | | test(string) | 与 exec()相同,但只返回。> > >/noo/。测试(“面条”)> > >/noo/i.test(“面条”) |

错误对象

错误对象由环境(浏览器)或代码创建。

>>> var e = new Error('jaavcsritp is _not_ how you spell it');
>>> typeof e

“对象”

除了 Error构造函数之外,还存在另外六个构造函数,它们都继承了 Error:

  • EvalError

  • RangeError

  • ReferenceError

  • SyntaxError

  • TypeError

  • URIError

错误对象的成员

|

财产

|

描述

| | --- | --- | | name | 用于创建对象的错误构造函数的名称:> > var e =新的 eval error(' oops ');> > > e.name【蒸发器】 | | message | 其他错误信息:>>>变量 e =新错误('哎呀...再次’);> > > e.message“哎呀...再次“ |