国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

ES5特性 - ECMAScript特性 - Javascript核心

Half / 2516人閱讀

摘要:特性本文將簡(jiǎn)單列舉的核心特性。獲取自有屬性名列表。以給丁對(duì)象為創(chuàng)建新的對(duì)象并返回。將對(duì)象的每個(gè)自有自有屬性做如下操作屬性的特性置為屬性的特性置為同時(shí),該對(duì)象將不可擴(kuò)展。檢查對(duì)象是否是位于給定對(duì)象的原型鏈上。

  

原文: http://pij.robinqu.me/JavaScript_Core/ECMAScript/es5.html

  

源代碼: https://github.com/RobinQu/Programing-In-Javascript/blob/master/chapters/JavaScript_Core/ECMAScript/es5.md

本文需要補(bǔ)充更多例子

本文存在批注,但該網(wǎng)站的Markdown編輯器不支持,所以無(wú)法正常展示,請(qǐng)到原文參考。

ES5特性

本文將簡(jiǎn)單列舉ES5的核心特性。ES5多半是擴(kuò)展原生對(duì)象的功能,讓ObjectArrayFunction更加強(qiáng)大。其他的特性包括strict mode和一下期待已久的工具方法(例如JSON.parse等)。

ES5的大部分特性1都在主流瀏覽器(IE9+)中支持了。而且大部分特性,都可以通過(guò)Javascript墊片(pollyfill)在運(yùn)行時(shí)環(huán)境實(shí)現(xiàn)2

Object

所有對(duì)象操作中,如果o不是Object類(lèi)型,將會(huì)拋出TypeError異常。

Object.getPrototypeOf(o)3

獲取給丁對(duì)象的prototype對(duì)象。等價(jià)于以前的o.__proto__

Object.getOwnPropertyDescriptor(o,p)4

獲取對(duì)象描述。和Object.defineProperty的相關(guān)方法。

Object.getOwnPropertyNames(o)5

獲取自有屬性名列表。結(jié)果列表將不包含原型鏈上的屬性。

Object.create(o,p)6

以給丁對(duì)象oprototype創(chuàng)建新的對(duì)象并返回。如果對(duì)象描述p存在,就使用其定義剛創(chuàng)建的對(duì)象(類(lèi)似調(diào)用Object.defineProperties(obj,p))。

Object.defineProperty(o,p,attrs)7

根據(jù)規(guī)則attrs定義對(duì)象o上,屬性名為p的屬性

Object.defineProperties(o,props)8

根據(jù)對(duì)象描述props來(lái)定義對(duì)象o,通常props包含多個(gè)屬性的定義。

Object.seal(o)9

一個(gè)對(duì)象在默認(rèn)狀態(tài)下,

extensible: 可以添加新的屬性

configurable: 可以修改已有屬性的特性

Object.seal會(huì)改變這兩個(gè)特性,既不能擴(kuò)展新屬性,也不能修改已有屬性的特性。

Object.freeze(o)10

將對(duì)象的每個(gè)自有自有屬性(own property)做如下操作:

屬性的writable特性置為false

屬性的configurable特性置為false

同時(shí),該對(duì)象將不可擴(kuò)展。可見(jiàn),該方法比Object.seal更加嚴(yán)格的限制了對(duì)一個(gè)對(duì)象的未來(lái)改動(dòng)。

Object.preventExtensions(o)11

將對(duì)象置為不可擴(kuò)展。

Object.isSealed(o)12

判斷一個(gè)對(duì)象是否sealed

對(duì)象的每個(gè)自有屬性:如果屬性的configurable特性為true,則返回false

如果對(duì)象為extensible的,那么返回false

不滿(mǎn)足以上兩個(gè)條件,則返回true

Object.isFrozen(o)13

對(duì)每個(gè)自有屬性,如果該屬性的configurablewritable特性為true,則返回false

如果對(duì)象為extensible的,那么返回false

不滿(mǎn)足以上兩個(gè)條件,則返回true

Object.isExtensible(o)14

判對(duì)一個(gè)對(duì)象是否可擴(kuò)展。

Object.keys(o)15

返回對(duì)象o的所有可枚舉(enumerable)屬性的名稱(chēng)。

Object.prototype.isPrototypeOf(v)16

檢查對(duì)象是否是位于給定對(duì)象v的原型鏈上。

Object.prototype.propertyIsEnumerable(p)

檢查一個(gè)對(duì)象上的屬性p是否可枚舉。

Array Array.isArray(a)

判斷a是否為為真正的Array

Array.prototype.indexOf(e,i)17

使用“嚴(yán)格等”來(lái)判斷元素e在數(shù)組中的索引號(hào)。一個(gè)可選的搜索起點(diǎn)i

Array.prototype.lastIndexOf(e,i)18

獲取元素e在數(shù)組中最后出現(xiàn)的位置。起始位置i為可選。

Array.prototype.every(t,c)

測(cè)試數(shù)組中的每個(gè)元素都滿(mǎn)足測(cè)試t。之后介紹的所有數(shù)組遍歷方法,都支持一個(gè)可選的上下文對(duì)象c,可以靈活設(shè)置回調(diào)函數(shù)的執(zhí)行上下文。傳遞給數(shù)組的測(cè)試函數(shù)、遍歷函數(shù)通常有如下簽名:

function(item, index, array) {}
Array.prototype.some(t,c)

測(cè)試數(shù)組中是否有元素滿(mǎn)足測(cè)試t

Array.prototype.forEach(f,c)

使用函數(shù)f遍歷每個(gè)數(shù)組的元素。

Array.prototype.map(f,c)

使用函數(shù)f修改每個(gè)數(shù)組的每個(gè)元素。按順序收集f的每個(gè)返回值,并返回這個(gè)新組成的數(shù)組。

Array.prototype.filter(f,c)

收集通過(guò)函數(shù)測(cè)試f的書(shū)組元素。

Array.prototype.reduce(r,v)19

從左向右,使用函數(shù)r聚集數(shù)組的每個(gè)元素。可以可選的制定一個(gè)初始值v

Array.prototype.reduceRight(r,v)20

Array.prototype.reduce的從右向左的版本。

String String.prototpye.trim

去掉字符串兩頭的空白符和換行符。

字符訂閱
//property access on strings
"abc"[2] === "b"
Function Function.prototype.bind(thisTarget, arg1,...argn)21

為了指定當(dāng)前函數(shù)的上下文對(duì)象和運(yùn)行參數(shù),該函數(shù)創(chuàng)建一個(gè)新的函數(shù),保留給定的this對(duì)象和運(yùn)行參數(shù)。

JSON JSON.parse(text)

根據(jù)rfc462722標(biāo)準(zhǔn)解析JSON文本。

JSON.stringify(obj)

將指定的對(duì)象obj序列化為JSON文本。

Date Date.now

獲取當(dāng)前時(shí)間距1970.1.1 00:00:00的毫秒數(shù)。

Date.prototype.toISOString

根據(jù)ISO860123生成時(shí)間字符串。

(new Date).toISOString()
"2014-04-02T08:31:53.049Z"
其他特性

放開(kāi)了關(guān)鍵字不允許作為屬性名的限制24

getter和setter函數(shù)25

http://kangax.github.io/es5-compat-table/??

https://github.com/es-shims/es5-shim??

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/GetPrototypeOf??

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptor??

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/getOwnPropertyNames??

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/create??

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/defineProperty??

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/defineProperties??

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/seal??

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/freeze??

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/preventExtensions??

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/isSealed??

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/isFrozen??

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/isExtensible??

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/keys??

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/isPrototypeOf??

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/indexOf??

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/lastIndexOf??

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/reduce??

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/reduceRight??

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/bind??

http://www.ietf.org/rfc/rfc4627.txt??

http://en.wikipedia.org/wiki/ISO_8601??

http://stackoverflow.com/questions/8099270/use-of-reserved-words-in-javascript??

http://ejohn.org/blog/javascript-getters-and-setters/??

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/78138.html

相關(guān)文章

  • ES6語(yǔ)法特性 - ES6 - ECMAScript特性 - Javascript核心

    摘要:前三個(gè)是為了解決變量聲明定義的問(wèn)題,而最后一個(gè)則影響最大。下文只介紹前三個(gè)特性。這是因?yàn)榈牡牟恢С謮K級(jí)作用域,變量?jī)H僅被限制到函數(shù)作用域內(nèi)。 原文: http://pij.robinqu.me/JavaScript_Core/ECMAScript/es6/es6_syntax_features.html 源代碼: https://github.com/RobinQu/P...

    Joyven 評(píng)論0 收藏0
  • ES6語(yǔ)法特性 - ES6 - ECMAScript特性 - Javascript核心

    摘要:前三個(gè)是為了解決變量聲明定義的問(wèn)題,而最后一個(gè)則影響最大。下文只介紹前三個(gè)特性。這是因?yàn)榈牡牟恢С謮K級(jí)作用域,變量?jī)H僅被限制到函數(shù)作用域內(nèi)。 原文: http://pij.robinqu.me/JavaScript_Core/ECMAScript/es6/es6_syntax_features.html 源代碼: https://github.com/RobinQu/P...

    StonePanda 評(píng)論0 收藏0
  • ES6語(yǔ)法特性 - ES6 - ECMAScript特性 - Javascript核心

    摘要:前三個(gè)是為了解決變量聲明定義的問(wèn)題,而最后一個(gè)則影響最大。下文只介紹前三個(gè)特性。這是因?yàn)榈牡牟恢С謮K級(jí)作用域,變量?jī)H僅被限制到函數(shù)作用域內(nèi)。 原文: http://pij.robinqu.me/JavaScript_Core/ECMAScript/es6/es6_syntax_features.html 源代碼: https://github.com/RobinQu/P...

    jas0n 評(píng)論0 收藏0
  • ECMAScript 5.1 實(shí)用特性概覽

    摘要:返回一個(gè)由原數(shù)組中的每個(gè)元素調(diào)用一個(gè)指定方法后的返回值組成的新數(shù)組。方法測(cè)試數(shù)組中的某些元素是否通過(guò)了指定函數(shù)的測(cè)試,返回值非常實(shí)用的功能,判斷數(shù)組中是否某元素符合特定條件。 ECMAScript 5發(fā)布于2009年12月。ECMAscript 5.1版(下文稱(chēng)ES5)發(fā)布于2011年6月,,并且成為ISO國(guó)際標(biāo)準(zhǔn)(ISO/IEC 16262:2011) http://www.ecma...

    xiao7cn 評(píng)論0 收藏0
  • ECMAScript 5.1 實(shí)用特性概覽

    摘要:返回一個(gè)由原數(shù)組中的每個(gè)元素調(diào)用一個(gè)指定方法后的返回值組成的新數(shù)組。方法測(cè)試數(shù)組中的某些元素是否通過(guò)了指定函數(shù)的測(cè)試,返回值非常實(shí)用的功能,判斷數(shù)組中是否某元素符合特定條件。 ECMAScript 5發(fā)布于2009年12月。ECMAscript 5.1版(下文稱(chēng)ES5)發(fā)布于2011年6月,,并且成為ISO國(guó)際標(biāo)準(zhǔn)(ISO/IEC 16262:2011) http://www.ecma...

    bang590 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<