值屬性
創(chuàng)新互聯(lián)建站是一家專業(yè)提供盧氏企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè)、H5開發(fā)、小程序制作等業(yè)務(wù)。10年已為盧氏眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進行中。
這部分屬性只是簡單的值,它們沒有自己的屬性和方法。
全局屬性 Infinity 是一個數(shù)值,表示無窮大。
全局屬性 NaN 的值表示不是一個數(shù)字(Not-A-Number)。
全局屬性undefined表示原始值undefined。它是一個JavaScript的 原始數(shù)據(jù)類型 。
值 null 特指對象的值未設(shè)置。它是 JavaScript 基本類型 之一。
函數(shù)屬性
全局函數(shù)可以直接調(diào)用,不需要在調(diào)用時指定所屬對象,執(zhí)行結(jié)束后會將結(jié)果直接返回給調(diào)用者。
eval() 函數(shù)會將傳入的字符串當做 JavaScript 代碼進行執(zhí)行。
PS:eval會造成安全和性能方面的問題,具體參見避免在不必要的情況下使用 eval。
判斷被傳入的值(非number類型將轉(zhuǎn)換為number類型)是否為有限值。
判斷被傳入的值(非number類型將轉(zhuǎn)換為number類型)是否為NaN。
PS:使用Number.isNaN()來代替更有語義性。
parseFloat() 函數(shù)解析一個字符串參數(shù)并返回一個浮點數(shù)。
PS:如果在解析過程中遇到了正負號(+或-),數(shù)字(0-9),小數(shù)點,或者科學記數(shù)法中的指數(shù)(e或E)以外的字符,則它會忽略該字符以及之后的所有字符,返回當前已經(jīng)解析到的浮點數(shù).同時參數(shù)字符串首位的空白符會被忽略.
如果第一個字符不能解析,直接返回NaN。
parseInt() 函數(shù)解析一個字符串參數(shù),并返回一個指定基數(shù)的整數(shù) (數(shù)學系統(tǒng)的基礎(chǔ))。
PS:radix一個介于2和36之間的整數(shù),表示上述字符串的基數(shù)(默認為10)。
函數(shù)通過將特定字符的每個實例替換為一個、兩個、三或四轉(zhuǎn)義序列來對統(tǒng)一資源標識符 (URI) 進行編碼 (該字符的 UTF-8 編碼僅為四轉(zhuǎn)義序列)由兩個 “代理” 字符組成)。
PS:encodeURI 字母、數(shù)字、;、,、/、?、:、@、&、=、+、$、-、_、.、!、~、*、'、(、)、#、之外的所有字符。
decodeURI() 函數(shù)解碼一個由encodeURI 先前創(chuàng)建的統(tǒng)一資源標識符(URI)或類似的例程。
encodeURIComponent()是對統(tǒng)一資源標識符(URI)的組成部分進行編碼的方法。
PS:encodeURIComponent 轉(zhuǎn)義除了字母、數(shù)字、(、)、.、!、~、*、'、-和_之外的所有字符。
為了避免服務(wù)器收到不可預知的請求,對任何用戶輸入的作為URI部分的內(nèi)容你都需要用encodeURIComponent進行轉(zhuǎn)義。
decodeURIComponent() 方法用于解碼由 encodeURIComponent 方法或者其它類似方法編碼的部分統(tǒng)一資源標識符(URI)。
區(qū)別在于編碼的字符范圍不同。
encodeURI使用于編碼整個URI而encodeURIComponent主要query部分(當你需要編碼URL中的參數(shù))。
簡單明了區(qū)分escape、encodeURI和encodeURIComponent
Function
全局的Function對象沒有自己的屬性和方法, 但是, 因為它本身也是函數(shù),所以它也會通過原型鏈從Function.prototype上繼承部分屬性和方法。
定義:指明函數(shù)的形參個數(shù)(確定多少個必須要傳入的參數(shù))區(qū)別于arguments.length實參個數(shù)(確定函數(shù)被調(diào)用時的實際傳參個數(shù))。
定義:返回創(chuàng)建實例對象的 Object 構(gòu)造函數(shù)的引用。
定義:調(diào)用一個函數(shù), 其具有一個指定的this值,以及作為一個數(shù)組(或類似數(shù)組的對象)提供的參數(shù)。
參數(shù):thisArg為func函數(shù)執(zhí)行時this的指向,argsArray為類數(shù)組參數(shù)數(shù)組。
返回:調(diào)用有指定this值和參數(shù)的函數(shù)的結(jié)果。
定義:調(diào)用一個函數(shù), 其具有一個指定的this值和分別地提供的參數(shù)(參數(shù)的列表)。
參數(shù):thisArg為func函數(shù)執(zhí)行時this的指向,arg1, arg2, …為指定的參數(shù)列表。
返回:返回值是你調(diào)用的方法的返回值,若該方法沒有返回值,則返回undefined。
運用:1.使用call方法調(diào)用父構(gòu)造函數(shù)(在一個子構(gòu)造函數(shù)中,你可以通過調(diào)用父構(gòu)造函數(shù)的call方法來實現(xiàn)繼承)
2.使用call方法調(diào)用匿名函數(shù)3.使用call方法調(diào)用函數(shù)并且指定上下文的'this'
運用舉例
定義:調(diào)用一個函數(shù), 其具有一個指定的this值,以及作為一個數(shù)組(或類似數(shù)組的對象)提供的參數(shù)。
參數(shù):thisArg為當綁定函數(shù)被調(diào)用時,該參數(shù)會作為原函數(shù)運行時的 this 指向,arg1、arg2…為當綁定函數(shù)被調(diào)用時,這些參數(shù)將置于實參之前傳遞給被綁定的方法。
返回:由指定的this值和初始化參數(shù)改造的原函數(shù)拷貝(返回一個函數(shù))。
運用:1.創(chuàng)建綁定函數(shù)(顯式綁定this)2.偏函數(shù)(使一個函數(shù)擁有預設(shè)的初始參數(shù))。
運用舉例
定義:返回一個表示當前函數(shù)源代碼的字符串。
參數(shù):null。
返回:表示函數(shù)源代碼的一個字符串。
Number
JavaScript 的 Number 對象是經(jīng)過封裝的能讓你處理數(shù)字值的對象。
Number(),如果參數(shù)無法被轉(zhuǎn)換為數(shù)字,則返回 NaN。
兩個可表示(representable)數(shù)之間的最小間隔,在進行計算時誤差在這個范圍內(nèi)被認為是合理的。
JavaScript 中最大的安全整數(shù) (2^53 - 1)。
JavaScript 中最小的安全整數(shù) (-(2^53 - 1)).
能表示的最大正數(shù)。最小的負數(shù)是 -MAX_VALUE。
能表示的最小正數(shù)即最接近 0 的正數(shù) (實際上不會變成 0)。最大的負數(shù)是 -MIN_VALUE。
Not A Number.
特殊的負無窮大值,在溢出時返回該值。
特殊的正無窮大值,在溢出時返回改值。
下列方法均不會發(fā)生將String轉(zhuǎn)化為Number的過程。
定義:確定傳遞的值是否為 NaN和其類型是 Number。它是用于代替原始的全局isNaN()。
參數(shù):要被檢測是否是 NaN 的值。
返回:一個布爾值,表示給定的值是否是 NaN。
PS:該方法不同于全局的isNaN(),不會將字符串轉(zhuǎn)換為數(shù)字。
定義:用來檢測傳入的參數(shù)是否是一個有窮數(shù)(finite number)。
參數(shù):value要被檢測有窮性的值。
返回:一個布爾值表示給定的值是否是一個有窮數(shù)。
PS:和全局的 isFinite() 函數(shù)相比,這個方法不會強制將一個非數(shù)值的參數(shù)轉(zhuǎn)換成數(shù)值。
定義:用來判斷給定的參數(shù)是否為整數(shù)。
參數(shù):value要判斷此參數(shù)是否為整數(shù)。
返回:判斷給定值是否是整數(shù)的 Boolean 值。
定義:用來判斷傳入的參數(shù)值是否是一個“安全整數(shù)”(safe integer)。
參數(shù):testValue需要檢測的參數(shù)。
返回:一個布爾值 表示給定的值是否是一個安全整數(shù)(safe integer)。
定義:可以把一個字符串解析成浮點數(shù)。
參數(shù):string被解析的字符串。
返回:對應(yīng)的浮點數(shù)。
PS:與全局函數(shù) parseFloat()一樣。
定義:可以根據(jù)給定的進制數(shù)的一個字符串數(shù)解析成整數(shù)。
參數(shù):string要解析的值,radix一個介于2和36之間的整數(shù)(數(shù)學系統(tǒng)的基礎(chǔ)),表示上述字符串的基數(shù)。
下列方法均返回為字符串。
定義:以指數(shù)表示法返回該數(shù)值字符串表示形式。
參數(shù):fractionDigits一個整數(shù),用來指定小數(shù)點后有幾位數(shù)字。
返回:一個用冪的形式 (科學記數(shù)法) 來表示Number 對象的字符串。
定義:使用定點表示法來格式化一個數(shù)。
參數(shù):digits小數(shù)點后數(shù)字的個數(shù)。
返回:所給數(shù)值的定點數(shù)表示法的字符串形式。
定義:以指定的精度返回該數(shù)值對象的字符串表示。
參數(shù):precision一個用來指定有效數(shù)個數(shù)的整數(shù)。
返回:以定點表示法或指數(shù)表示法表示的一個數(shù)值對象的字符串表示。
定義:返回這個數(shù)字在特定語言環(huán)境下的表示字符串。
參數(shù):locales為指定本地要使用的編號系統(tǒng),options為有下列屬性(localeMatcher、style、currency等等但存在一定的兼容性)
返回:返回一個語言環(huán)境下的表示字符串。
PS:通常用于格式化為某種貨幣形式。
定義:返回指定 Number 對象的字符串表示形式。
參數(shù):radix指定要用于數(shù)字到字符串的轉(zhuǎn)換的基數(shù)(從2到36)。
返回:轉(zhuǎn)換后的字符串。
定義:返回一個被 Number 對象包裝的原始值。
返回:表示指定 Number 對象的原始值的數(shù)字。
String
定義:返回使用指定的Unicode值序列創(chuàng)建的字符串。
定義:返回使用指定的代碼點序列創(chuàng)建的字符串,但是這個方法不能識別 32 位的 UTF-16 字符(Unicode 編號大于0xFFFF)。
templateString
是用來獲取一個模板字符串的原始字面量值的。
返回:字符串的長度。
返回:第N個字符串,但不能更改。
定義:從一個字符串中返回指定index的字符,缺省參數(shù)為0。
定義:返回給定索引處字符的 UTF-16 代碼單元值的數(shù)字;如果索引超出范圍,則返回 NaN。
定義:返回 一個 Unicode 編碼點值的非負整數(shù)。
定義:將一個或多個字符串與原字符串連接合并,形成一個新的字符串并返回。
定義:判斷一個字符串是否包含在另一個字符串中,根據(jù)情況返回true或false。
定義:用來判斷當前字符串是否是以另外一個給定的子字符串“開頭”的,根據(jù)判斷結(jié)果返回 true 或 false。
定義:判斷當前字符串是否是以另外一個給定的子字符串“結(jié)尾”的,根據(jù)判斷結(jié)果返回 true 或 false。
定義:第一次出現(xiàn)的指定值的索引,開始在Index進行搜索,否則返回-1。
定義:返回指定值在調(diào)用該方法的字符串中最后出現(xiàn)的位置,如果沒找到則返回 -1。
定義:localeCompare() 方法返回一個數(shù)字來指示一個參考字符串是否在排序順序前面或之后或與給定字符串相同。
定義:當一個字符串與一個正則表達式匹配時, match()方法檢索匹配項。
定義:會按照指定的一種 Unicode 正規(guī)形式將當前字符串正規(guī)化。
定義:會用一個字符串填充在當前字符串之前(如果需要的話則重復填充),返回填充后達到指定長度的字符串。
定義:會用一個字符串填充在當前字符串之后(如果需要的話則重復填充),返回填充后達到指定長度的字符串。
定義:返回一個新字符串,該字符串包含被連接在一起的指定數(shù)量的字符串的副本。
PS:參數(shù)從零開始。
定義:返回一個由替換值替換一些或所有匹配的模式后的新字符串。
如果第一個參數(shù)為regexp第二個參數(shù)為function時,該函數(shù)參數(shù)說明
參數(shù)1:匹配模式的字符串。
參數(shù)2–:子表達是匹配的子字符串(就是捕獲分組)。
倒數(shù)參數(shù)2:聲明匹配在string中出現(xiàn)的位置。
倒數(shù)參數(shù)1:進行匹配的sting本身。
定義:行正則表達式和 String對象之間的一個搜索匹配。
返回:如果匹配成功,則 search() 返回正則表達式在字符串中首次匹配項的索引。否則,返回 -1。
定義:提取一個字符串的一部分,并返回一新的字符串。
參數(shù):beginSlice從該索引(以 0 為基數(shù))處開始提取原字符串中的字符。如果值為負數(shù),會被當做 sourceLength + beginSlice 看待,這里的sourceLength 是字符串的長度。
endSlice在該索引(以 0 為基數(shù))處結(jié)束提取字符串,同樣可為負數(shù)。
定義:使用指定的分隔符字符串將一個String對象分割成字符串數(shù)組,以將字符串分隔為子字符串,以確定每個拆分的位置。
定義:返回一個字符串中從指定位置開始到指定字符數(shù)的字符。
PS:start >=str.length 或 length <= 0 返回空字符串;start < 0 則轉(zhuǎn)換為start + str.length。
定義:返回一個字符串在開始索引到結(jié)束索引之間的一個子集, 或從開始索引直到字符串的末尾的一個子集。
PS:一些特殊情況。
如果 indexStart 等于 indexEnd,substring 返回一個空字符串。
如果省略 indexEnd,substring 提取字符一直到字符串末尾。
如果任一參數(shù)小于 0 或為 NaN,則被當作 0。
如果任一參數(shù)大于 stringName.length,則被當作 stringName.length。
如果 indexStart 大于 indexEnd,則 substring 的執(zhí)行效果就像兩個參數(shù)調(diào)換了一樣。
定義:將調(diào)用該方法的字符串值轉(zhuǎn)為小寫形式,并返回新字符串。
定義:將調(diào)用該方法的字符串值轉(zhuǎn)換為大寫形式,并返回新字符串。
定義:根據(jù)任何特定于語言環(huán)境的案例映射,返回調(diào)用字符串值轉(zhuǎn)換為小寫的值。
PS:在大多數(shù)情況下,該方法產(chǎn)生的結(jié)果和調(diào)用toLowerCase()的結(jié)果相同(除土耳其等)。
定義:使用本地化(locale-specific)的大小寫映射規(guī)則將輸入的字符串轉(zhuǎn)化成大寫形式并返回結(jié)果字符串。
定義:返回指定對象的字符串形式。
定義:會從一個字符串的兩端刪除空白字符,返回一個新的字符串。
PS:str.trimLeft() 和 str.trimRight() 不是標準方法。
返回一個新的Iterator對象,它遍歷字符串的代碼點,返回每一個代碼點的字符串值。
PS:下列內(nèi)置類型擁有默認迭代器行為Array、String、Set、Map等,而Object沒有。
Array
在 ES2015 中, Class 語法允許我們?yōu)閮?nèi)置類型(比如 Array)和自定義類新建子類(比如叫 SubArray)。這些子類也會繼承父類的靜態(tài)方法,比如 SubArray.from(),調(diào)用該方法后會返回子類 SubArray 的一個實例,而不是 Array 的實例。
定義:從一個類似數(shù)組或可迭代對象中創(chuàng)建一個新的數(shù)組實例。
參數(shù):
arrayLike想要轉(zhuǎn)換成數(shù)組的偽數(shù)組對象或可迭代對象。
mapFn (可選參數(shù))如果指定了該參數(shù),新數(shù)組中的每個元素會執(zhí)行該回調(diào)函數(shù)。
thisArg (可選參數(shù))可選參數(shù),執(zhí)行回調(diào)函數(shù) mapFn 時 this 對象。
返回:一個新的數(shù)組。
PS:Array.from(obj, mapFn, thisArg) 就相當于 Array.from(obj).map(mapFn, thisArg),ES6之前的做法:Array.prototype.slice.call(arrayLike)。
定義:確定傳遞的值是否是一個 Array。
返回:boolean。
PS:ES6之前的做法Object.prototype.toString.call(arg) === ‘[object Array]'。
定義:創(chuàng)建一個具有可變數(shù)量參數(shù)的新數(shù)組實例,而不考慮參數(shù)的數(shù)量或類型。
參數(shù):任意個參數(shù),將按順序成為返回數(shù)組中的元素。
返回:參數(shù)列表組成的數(shù)組。
PS:Array.of() 和 Array 構(gòu)造函數(shù)之間的區(qū)別在于處理整數(shù)參數(shù):Array.of(7) 創(chuàng)建一個具有單個元素 7 的數(shù)組,而 Array(7) 創(chuàng)建一個包含 7 個 undefined 元素的數(shù)組。
返回:讀寫數(shù)組的長度。
定義:淺復制數(shù)組的一部分到同一數(shù)組中的另一個位置,并返回它,而不修改其大小。
參數(shù):
target 0 為基底的索引,復制序列到該位置。如果是負數(shù),target 將從末尾開始計算。如果 target 大于等于 arr.length,將會不發(fā)生拷貝。如果 target 在 start 之后,復制的序列將被修改以符合 arr.length。
start 0 為基底的索引,開始復制元素的起始位置。如果是負數(shù),start 將從末尾開始計算。如果 start 被忽略,copyWithin 將會從0開始復制。
end 0 為基底的索引,開始復制元素的結(jié)束位置。copyWithin 將會拷貝到該位置,但不包括 end 這個位置的元素。如果是負數(shù), end 將從末尾開始計算。如果 end 被忽略,copyWithin 將會復制到 arr.length。
返回值:操作原數(shù)組。
定義:用一個固定值填充一個數(shù)組中從起始索引到終止索引內(nèi)的全部元素。
參數(shù):
value 用來填充數(shù)組元素的值。
start 開始索引,默認為0。
end 結(jié)束索引,默認為arr.length(不包括)。
返回:修改后的數(shù)組。
定義:將一個或多個元素添加到數(shù)組的末尾,并返回新數(shù)組的長度。
參數(shù):
elementN 被添加到數(shù)組末尾的元素。
返回:操作后的數(shù)組的長度。
定義:從數(shù)組中刪除最后一個元素,并返回該元素的值。此方法更改數(shù)組的長度。
返回:從數(shù)組中刪除的元素(當數(shù)組為空時返回undefined)。
定義:將數(shù)組中元素的位置顛倒。
返回:顛倒數(shù)組中元素的位置,并返回該數(shù)組的引用。
定義:可以根據(jù)指定方法對數(shù)組進行排序。
compareFunction 可選。用來指定按某種順序進行排列的函數(shù)。如果省略,元素按照轉(zhuǎn)換為的字符串的各個字符的Unicode位點進行排序。
返回:返回排序后的數(shù)組。原數(shù)組已經(jīng)被排序后的數(shù)組代替。
定義:從數(shù)組中刪除第一個元素,并返回該元素的值。此方法更改數(shù)組的長度。
返回:從數(shù)組中刪除的元素; 如果數(shù)組為空則返回undefined。
定義:將一個或多個元素添加到數(shù)組的開頭,并返回新數(shù)組的長度。
參數(shù):element1, …, elementN 要添加到數(shù)組開頭的元素。
返回:當一個對象調(diào)用該方法時,返回其 length 屬性值。
定義:通過刪除現(xiàn)有元素和/或添加新元素來更改一個數(shù)組的內(nèi)容。
參數(shù):
start 開始修改的位置。
deleteCount 移除數(shù)組元素的個數(shù)。
item1、item2…為添加的元素。
返回:由被刪除的元素組成的一個數(shù)組。如果只刪除了一個元素,則返回只包含一個元素的數(shù)組。如果沒有刪除元素,則返回空數(shù)組。
定義:用于合并兩個或多個數(shù)組。此方法不會更改現(xiàn)有數(shù)組,而是返回一個新數(shù)組。
參數(shù):valueN 將數(shù)組和/或值連接成新數(shù)組。
返回:新數(shù)組。
定義:用來判斷一個數(shù)組是否包含一個指定的值,根據(jù)情況,如果包含則返回 true,否則返回false。
參數(shù):
searchElement 需要查找的元素值。
fromIndex 從該索引處開始查找 searchElement。
返回:boolean。
定義:將一個數(shù)組(或一個類數(shù)組對象)的所有元素連接成一個字符串并返回這個字符串。
參數(shù):
searchElement 需要查找的元素值。
fromIndex 從該索引處開始查找 searchElement。
返回:string。
定義:返回一個從開始到結(jié)束(不包括結(jié)束)選擇的數(shù)組的一部分淺拷貝到一個新數(shù)組對象。
返回:一個含有提取元素的新數(shù)組。
定義:返回在數(shù)組中可以找到一個給定元素的第一個索引,如果不存在,則返回-1。
返回:首個被找到的元素在數(shù)組中的索引位置; 若沒有找到則返回 -1。
定義:返回在數(shù)組中可以找到一個給定元素的第一個索引,如果不存在,則返回-1。
返回:數(shù)組中最后一個元素的索引,如未找到返回-1。
定義:返回一個字符串,表示指定的數(shù)組及其元素。
返回:逗號分隔的字符串。
定義:對數(shù)組的每個元素執(zhí)行一次提供的函數(shù)。
返回:undefined。
PS:沒有辦法中止或者跳出 forEach 循環(huán),需要跳出請使用循環(huán)代替。
已刪除(使用delete方法等情況)或者未初始化的項將被跳過(但不會跳過那些值為 undefined、null 的項)。
定義:創(chuàng)建一個新數(shù)組,其結(jié)果是該數(shù)組中的每個元素都調(diào)用一個提供的函數(shù)后返回的結(jié)果。
返回:一個新數(shù)組,每個元素都是回調(diào)函數(shù)的結(jié)果。
定義:返回一個新的Array迭代器,它包含數(shù)組中每個索引的鍵。
返回:一個新的 Array 迭代器對象。
定義:返回一個新的 Array Iterator 對象,該對象包含數(shù)組每個索引的值。
返回:一個新的 Array 迭代器對象。
定義:返回一個新的Array Iterator對象,該對象包含數(shù)組中每個索引的鍵/值對。
返回:一個新的 Array 迭代器對象。
定義:測試數(shù)組的所有元素是否都通過了指定函數(shù)的測試。
返回:boolean。
定義:測試數(shù)組中的某些元素是否通過由提供的函數(shù)實現(xiàn)的測試。
返回:boolean。
定義:創(chuàng)建一個新數(shù)組, 其包含通過所提供函數(shù)實現(xiàn)的測試的所有元素。
返回:新數(shù)組。
定義:返回數(shù)組中滿足提供的測試函數(shù)的第一個元素的索引。否則返回-1。
返回:當某個元素通過 callback 的測試時,返回數(shù)組中的一個值的索引,否則返回 -1。
定義:返回數(shù)組中滿足提供的測試函數(shù)的第一個元素的值。否則返回 undefined。
返回:當某個元素通過 callback 的測試時,返回數(shù)組中的一個值,否則返回 undefined。
定義:對累加器和數(shù)組中的每個元素(從左到右)應(yīng)用一個函數(shù),將其減少為單個值。
參數(shù):
callback 執(zhí)行數(shù)組中每個值的函數(shù),包含四個參數(shù):
accumulato 累加器累加回調(diào)的返回值; 它是上一次調(diào)用回調(diào)時返回的累積值,或initialValue(如下所示)。
currentValue 數(shù)組中正在處理的元素。
currentIndex可選 數(shù)組中正在處理的當前元素的索引。 如果提供了initialValue,則索引號為0,否則為索引為1。
array可選 調(diào)用reduce的數(shù)組。
initialValue 可選用作第一個調(diào)用 callback的第一個參數(shù)的值。 如果沒有提供初始值,則將使用數(shù)組中的第一個元素。 在沒有初始值的空數(shù)組上調(diào)用 reduce 將報錯。
返回:函數(shù)累計處理的結(jié)果。
定義:接受一個函數(shù)作為累加器(accumulator)和數(shù)組的每個值(從右到左)將其減少為單個值。
定義:默認為數(shù)組不說了迭代器,@@iterator 屬性和 values() 屬性的初始值均為同一個函數(shù)對象。
返回:數(shù)組的 iterator 方法,默認情況下與 values() 返回值相同。
定義:會遞歸到指定深度將所有子數(shù)組連接,并返回一個新數(shù)組。
參數(shù):depth 可選指定嵌套數(shù)組中的結(jié)構(gòu)深度,默認值為1。
返回:一個將子數(shù)組連接的新數(shù)組。
定義:首先使用映射函數(shù)映射每個元素,然后將結(jié)果壓縮成一個新數(shù)組。它與 map 和 深度值1的 flatten 幾乎相同,但flatMap通常在合并成一種方法的效率稍微高一些。
返回:一個新的數(shù)組,其中每個元素都是回調(diào)函數(shù)的結(jié)果,并且結(jié)構(gòu)深度 depth 值為1。
Proxy && Reflect
Proxy是一個構(gòu)造函數(shù)(對對象的訪問進行攔截),Reflect(操作對象提供的API)。
Reflect它與Proxy對象的方法是一一對應(yīng)的,這就讓Proxy對象可以方便地調(diào)用對應(yīng)的Reflect方法,完成默認行為,作為修改行為的基礎(chǔ)。
Proxy 用于修改某些操作的默認行為,等同于在語言層面做出修改,所以屬于一種“元編程”(meta programming),即對編程語言進行編程。
Proxy 可以理解成,在目標對象之前架設(shè)一層“攔截”,外界對該對象的訪問,都必須先通過這層攔截,因此提供了一種機制,可以對外界的訪問進行過濾和改寫。
Proxy方法:target參數(shù)表示所要攔截的目標對象,handler參數(shù)也是一個對象,用來定制攔截行為 var proxy = new Proxy(target, handler); var person = { name: "張三" }; var proxy = new Proxy(person, { get: function(target, property) { if (property in target) { return target[property]; } else { throw new ReferenceError("Property \"" + property + "\" does not exist."); } } }); proxy.name // "張三" proxy.age // 拋出一個錯誤
Proxy使用詳解
Reflect
將Object對象的一些明顯屬于語言內(nèi)部的方法(比如Object.defineProperty),放到Reflect對象上?,F(xiàn)階段,某些方法同時在Object和Reflect對象上部署,未來的新方法將只部署在Reflect對象上。也就是說,從Reflect對象上可以拿到語言內(nèi)部的方法。
// 下列方法說明:target為目標對象,name為某個屬性,receiver為如果name屬性設(shè)置了賦值函數(shù),則為函數(shù)的this指向
Reflect.apply(target, thisArg, args)
Reflect.apply方法等同于Function.prototype.apply.call(func, thisArg, args),用于綁定this對象后執(zhí)行給定函數(shù)。
Reflect.construct(target, args)
Reflect.construct方法等同于new target(…args),這提供了一種不使用new,來調(diào)用構(gòu)造函數(shù)的方法。
Reflect.get(target, name, receiver)
Reflect.get方法查找并返回target對象的name屬性,如果沒有該屬性,則返回undefined。
Reflect.set(target, name, value, receiver)
Reflect.set方法設(shè)置target對象的name屬性等于value。
Reflect.defineProperty(target, name, desc)
Reflect.defineProperty方法基本等同于Object.defineProperty,用來為對象定義屬性。未來,后者會被逐漸廢除,請從現(xiàn)在開始就使用Reflect.defineProperty代替它。
Reflect.deleteProperty(target, name)
Reflect.deleteProperty方法等同于delete obj[name],用于刪除對象的屬性。
Reflect.has(target, name)
Reflect.has方法對應(yīng)name in obj里面的in運算符。
Reflect.ownKeys(target)
Reflect.ownKeys方法用于返回對象的所有屬性,基本等同于Object.getOwnPropertyNames與Object.getOwnPropertySymbols之和。
Reflect.isExtensible(target)
Reflect.isExtensible方法對應(yīng)Object.isExtensible,返回一個布爾值,表示當前對象是否可擴展。
Reflect.preventExtensions(target)
Reflect.preventExtensions對應(yīng)Object.preventExtensions方法,用于讓一個對象變?yōu)椴豢蓴U展。它返回一個布爾值,表示是否操作成功。
Reflect.getOwnPropertyDescriptor(target, name)
Reflect.getOwnPropertyDescriptor基本等同于Object.getOwnPropertyDescriptor,用于得到指定屬性的描述對象,將來會替代掉后者。
Reflect.getPrototypeOf(target)
Reflect.getPrototypeOf方法用于讀取對象的proto屬性,對應(yīng)Object.getPrototypeOf(obj)。
Reflect.setPrototypeOf(target, prototype)
Reflect.setPrototypeOf方法用于設(shè)置對象的proto屬性,返回第一個參數(shù)對象,對應(yīng)Object.setPrototypeOf(obj, newProto)。
Event
Event接口表示在DOM中發(fā)生的任何事件; 一些是用戶生成的(例如鼠標或鍵盤事件),而其他由API生成(例如指示動畫已經(jīng)完成運行的事件,視頻已被暫停等等)。有許多類型的事件,其中一些使用基于主要事件接口的其他接口。事件本身包含所有事件通用的屬性和方法。
定義:用來表示該事件是否在DOM中冒泡的boolean值。
定義:獲取或設(shè)置當前事件是否要取消冒泡(使用e.stopPropagation()代替)。
定義:表示這個事件是否可以取消默認行為(阻止默認行為e.preventDefault())。
定義:表示該事件是否可以Shadow DOM 傳遞到一般的 DOM。
定義:當前注冊事件的對象的引用,這個值會在傳遞途中發(fā)生變化。
定義:返回事件冒泡過程所有經(jīng)過的節(jié)點所構(gòu)成的Array數(shù)組。
定義:返回是否已經(jīng)調(diào)用了e.preventDefault()來阻止默認行為。
定義:返回事件流正在哪個階段。
定義:獲取或設(shè)置事件的默認操作是否已被阻止。
定義:返回一個觸發(fā)事件的對象的引用(ie的srcElement)。
定義:事件創(chuàng)建時的時間戳,毫秒級別。
定義:返回一個字符串(不區(qū)分大小寫), 表示該事件對象的事件類型。
定義:指明事件是否是由瀏覽器(當用戶點擊實例后)或者由腳本(使用事件的創(chuàng)建方法,例如event.initEvent)啟動。
event.target返回觸發(fā)事件的元素
event.currentTarget返回綁定事件的元素
event對象中 target和currentTarget 屬性的區(qū)別
創(chuàng)建一個新的事件(Event),隨之必須調(diào)用自身的 init 方法進行初始化。
定義:Event.initEvent() 方法可以用來初始化由Document.createEvent() 創(chuàng)建的 event 實例,且在觸發(fā)之前event.dispatchEvent()。
定義:如果此事件沒有需要顯式處理,那么它默認的動作也不要做(因為默認是要做的)。
定義:阻止捕獲和冒泡階段中當前事件的進一步傳播(只阻止當前偵聽器)。
定義:阻止調(diào)用相同事件的其他偵聽器。
本文標題:javascript標準庫(js的標準內(nèi)置對象)總結(jié)
網(wǎng)站URL:http://chinadenli.net/article4/gioioe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、面包屑導航、網(wǎng)站策劃、、App開發(fā)、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)