成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JavaScript 處理數(shù)組函數(shù)總結(jié)

instein / 1155人閱讀

摘要:從而將傳入的數(shù)組誤判為非數(shù)組。返回值把指定的值添加到數(shù)組后的新長(zhǎng)度。方法用于刪除并返回?cái)?shù)組的最后一個(gè)元素返回值的最后一個(gè)元素。如果數(shù)組已經(jīng)為空,則不改變數(shù)組,并返回值。

JavaScript的array可以包含任意數(shù)據(jù)類型,并通過索引來訪問每個(gè)元素。

1、檢測(cè)數(shù)組:instanceofslice()、Array.isArray()

檢測(cè)一個(gè)對(duì)象是不是數(shù)組的三種方法:
(1)方法一:instanceOf檢測(cè)方法

var arr = ["a","b","c"];
if (arr instanceof Array){
// do something...
}

或者:

var arr = ["a","b","c"];
if (Array.prototype.isPrototypeOf(arr)){
// do something...
}

問題:instanceof 操作符假設(shè)只有一個(gè)全局執(zhí)行環(huán)境。如果網(wǎng)頁(yè)中包含多個(gè)框架,那實(shí)際上存在兩個(gè)以上的不同全局執(zhí)行環(huán)境,從而存在兩個(gè)以上不同版本的Array構(gòu)造函數(shù)。如果從一個(gè)框架向另一個(gè)框架傳入數(shù)組,那么傳入的數(shù)組與第二框架中原生的數(shù)組分別具有各自不同的構(gòu)造函數(shù)。從而將傳入的數(shù)組誤判為非數(shù)組。

注意:如果只有一個(gè)全局執(zhí)行環(huán)境,可以用 instanceof檢測(cè)數(shù)組,關(guān)于instanceof操作符的原理,請(qǐng)移步這里理解Javascript_07_理解instanceof實(shí)現(xiàn)原理.

A instanceof B:檢查B.prototype 是否存在于A的原型鏈[[prototype]]中。

(2)方法二:Array.isArray(obj)方法

var arr = ["a","b","c"];
if (Array.isArray(arr)){
// do something...
}

這個(gè)方法克服了instanceof的問題,可以確定某個(gè)變量是不是數(shù)組,而不管它是在哪個(gè)全局執(zhí)行環(huán)境中創(chuàng)建的。

問題:但是支持Array.isArray()方法的瀏覽器有IE9+、Firefox4+Safari5+、Opera10.5+Chrome

(3)方法三:萬(wàn)能方法

function isArray(arr){
    return Object.prototype.toString.call(arr) == "[object Array]";
}
var arr = ["a","b","c"];
isArray(arr);//true

原理:在任何值上調(diào)用Object原型的toString() 方法,都會(huì)返回一個(gè)[object NativeConstructorName] 格式的字符串。每個(gè)類在內(nèi)部都有一個(gè)[[Class]](不可訪問屬性的表示方式)屬性,這個(gè)屬性就指定了上述字符串中的構(gòu)造函數(shù)名NativeConstructorName。如:

var arr = [];
console.log(Object.prototype.toString.call(arr)); // "[object Array]"

引申: 這種思路也可用于檢測(cè)某個(gè)值是不是原生函數(shù)或正則表達(dá)式。

// Array
Object.prototype.toString.call(value); // "[object Array]"

// Function
Object.prototype.toString.call(value); // "[object Function]"

// RegExp
Object.prototype.toString.call(value); // "[object RegExp]"

// Date
Object.prototype.toString.call(value); // "[object Date]"

注意:ObjecttoString()方法不能檢測(cè)非原生的構(gòu)造函數(shù)的構(gòu)造函數(shù)名,因此,開發(fā)人員定義的任何構(gòu)造函數(shù)都將返回[object Object]。

2、獲取數(shù)組長(zhǎng)度:length

直接訪問length屬性獲取數(shù)組長(zhǎng)度:

var arr = [1,"hihi",3.14,null,true];
arr.length;//5

注意: length還是可寫的,直接給Arraylength賦一個(gè)新的值會(huì)導(dǎo)致Array大小的變化:

var arr = [1,2,3];
arr.length;//3
arr;//1,2,3
arr.length = 5;
arr;//1,2,3,undefined,undefined
arr.length = 2;
arr;//1,2

通過設(shè)置Arraylength屬性,可以從數(shù)組的末尾移除或者添加若干新項(xiàng)。
利用length屬性還可以方便的向數(shù)組末尾添加新項(xiàng):arr[arr.length]="black",不過,這種方法通??梢杂?push"方法來替代。

3、修改數(shù)組元素

Array可以通過索引把對(duì)應(yīng)的元素修改為新的值,因此,對(duì)Array的索引進(jìn)行賦值會(huì)直接修改這個(gè)Array

var arr = [1,2,3];
arr[2] = 5;
arr;//1,2,5

注意:如果通過索引賦值時(shí),索引超過了范圍,仍然會(huì)引起Array的大小變化:

var arr = [1,2,3];
arr[5] = 8;
arr;//1,2,3,undefined,undefined,8

建議:大多數(shù)其他編程語(yǔ)言不允許直接改變數(shù)組的大小,越界訪問索引會(huì)報(bào)錯(cuò)。然而,JavaScript的Array卻不會(huì)有任何錯(cuò)誤。在編寫代碼時(shí),不建議直接修改Array的大小,訪問索引時(shí)要確保索引不會(huì)越界。

4、位置方法

與String類似,Array也可以通過indexOf()來搜索一個(gè)指定的元素在Array首次出現(xiàn)的位置:

var arr = [10,20,"30",20,30];
arr.indexOf(20);//1
arr.indexOf(20,2)//3

補(bǔ)充:

stringObject.indexOf(searchvalue,fromindex)
indexOf() 方法可返回某個(gè)指定的字符串值在字符串中首次出現(xiàn)的位置。

searchvalue: 必需。規(guī)定需檢索的字符串值。
fromindex: 可選的整數(shù)參數(shù)。規(guī)定在字符串中開始檢索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略該參數(shù),則將從字符串的首字符開始檢索。

indexOf() 方法對(duì)大小寫敏感!

如果要檢索的字符串值沒有出現(xiàn),則該方法返回 -1。

在判斷查找的項(xiàng)是否存在時(shí),使用的是全等===。

lastIndexOfindexOf操作符類似,不過是從數(shù)組的末尾開始向前查找的。

5、操作方法:slice()、concat()、splice()

arr.slice()

slice()就是對(duì)應(yīng)String的substring()版本,它截取Array的部分元素,然后返回一個(gè)新的Array

var arr = ["A","B","C","D","E","F","G"];
arr.slice(1,3);//["B","C"]
arr.slice(3);//["D","E","F","G"]
arr.slice(3,50);//["D","E","F","G"]
arr.slice(-3);//["E","F","G"]
arr.slice(3,-2);//["D","E"]

注意

到slice()的起止參數(shù)包括開始索引,不包括結(jié)束索引。

如果結(jié)束索引省略,將返回從開始索引到數(shù)組結(jié)束的所有元素。

如果結(jié)束索引超過了范圍,將返回從開始索引到數(shù)組結(jié)束的所有元素。

開始索引可以去負(fù)值,它規(guī)定從從數(shù)組尾部開始算起的位置。

補(bǔ)充:

arrayObject.slice(start,end)
slice() 方法可從已有的數(shù)組中返回選定的元素。

start: 必需。規(guī)定從何處開始選取。如果是負(fù)數(shù),那么它規(guī)定從數(shù)組尾部開始算起的位置。也就是說,-1 指最后一個(gè)元素,-2 指倒數(shù)第二個(gè)元素,以此類推。(這里的必需,有待商榷,實(shí)際上不寫也是可以的)
end: 可選。規(guī)定從何處結(jié)束選取。該參數(shù)是數(shù)組片斷結(jié)束處的數(shù)組下標(biāo)。如果沒有指定該參數(shù),那么切分的數(shù)組包含從 start 到數(shù)組結(jié)束的所有元素。如果這個(gè)參數(shù)是負(fù)數(shù),那么它規(guī)定的是從數(shù)組尾部開始算起的元素。

請(qǐng)注意,該方法并不會(huì)修改數(shù)組,而是返回一個(gè)子數(shù)組。如果想刪除數(shù)組中的一段元素,應(yīng)該使用方法 Array.splice()。

小技巧:復(fù)制數(shù)組
如果不給slice()傳遞任何參數(shù),它就會(huì)從頭到尾截取所有元素。利用這一點(diǎn),我們可以很容易地復(fù)制一個(gè)Array:

var arr = ["A","B","C","D","E","F","G"];
var aCopy = arr.slice();
aCopy;//["A","B","C","D","E","F","G"]
arr === aCopy;//false(如果,你不知道這里為什么是`false`,那么你應(yīng)該去看看原始值和引用對(duì)象)

arr.splice()

splice()方法是修改Array的“萬(wàn)能方法”,它可以從指定的索引開始刪除若干元素,然后再?gòu)脑撐恢锰砑尤舾稍兀?/p>

var arr = ["Microsoft", "Apple", "Yahoo", "AOL", "Excite", "Oracle"];
// 從索引2開始刪除3個(gè)元素,然后再添加兩個(gè)元素:
arr.splice(2, 3, "Google", "Facebook"); // 返回刪除的元素 ["Yahoo", "AOL", "Excite"]
arr; // ["Microsoft", "Apple", "Google", "Facebook", "Oracle"]
// 只刪除,不添加:
arr.splice(2, 2); // ["Google", "Facebook"]
arr; // ["Microsoft", "Apple", "Oracle"]
// 只添加,不刪除:
arr.splice(2, 0, "Google", "Facebook"); // 返回[],因?yàn)闆]有刪除任何元素
arr; // ["Microsoft", "Apple", "Google", "Facebook", "Oracle"]

補(bǔ)充:

arrayObject.splice(index,howmany,item1,item2,...,itemx)
splice() 方法向/從數(shù)組中添加/刪除項(xiàng)目,然后返回被刪除的項(xiàng)目。

index: 必需。整數(shù),規(guī)定添加/刪除項(xiàng)目的位置,使用負(fù)數(shù)可從數(shù)組結(jié)尾處規(guī)定位置。
howmany: 必需。要?jiǎng)h除的項(xiàng)目數(shù)量。如果設(shè)置為 0,則不會(huì)刪除項(xiàng)目。
item1,item2,...,itemx: 可選。向數(shù)組添加的新項(xiàng)目。

返回值:包含被刪除項(xiàng)目的新數(shù)組,如果有的話。

注意:

splice() 方法可刪除從 index 處開始的零個(gè)或多個(gè)元素,并且用參數(shù)列表中聲明的一個(gè)或多個(gè)值來替換那些被刪除的元素。

如果從 arrayObject 中刪除了元素,則返回的是含有被刪除的元素的數(shù)組。

請(qǐng)注意,splice() 方法與 slice() 方法的作用是不同的,splice() 方法會(huì)直接對(duì)數(shù)組進(jìn)行修改。

arr.concat()

concat()方法把當(dāng)前的Array和另一個(gè)Array連接起來,并返回一個(gè)新的Array:

var arr = ["one","two","three"];
var arrAdd = arr.concat([1,2,3]);
arrAdd;//["one","two","three",1,2,3];
arr;//["one","two","three"]

注意:請(qǐng)注意,concat()方法并沒有修改當(dāng)前Array,而是返回了一個(gè)新的Array。
實(shí)際上,concat()方法可以接收任意個(gè)元素和Array,并且自動(dòng)把Array拆開,然后全部添加到新的Array里:

var arr = ["one","two","three"];
var arrAdd = arr.concat(1,2,["A","B"]);
arrAdd;//["one","two","three",1,2,"A","B"]

補(bǔ)充:

arrayObject.concat(arrayX,arrayX,...,arrayX)
concat() 方法用于連接兩個(gè)或多個(gè)數(shù)組。

arrayX: 必需。該參數(shù)可以是具體的值,也可以是數(shù)組對(duì)象??梢允侨我舛鄠€(gè)。

返回值:返回一個(gè)新的數(shù)組。該數(shù)組是通過把所有 arrayX 參數(shù)添加到 arrayObject 中生成的。如果要進(jìn)行 concat() 操作的參數(shù)是數(shù)組,那么添加的是數(shù)組中的元素,而不是數(shù)組。

關(guān)于數(shù)組的操作方法

如果要修改數(shù)組中的某些項(xiàng)的值,可以使用[]splice.

若果要在數(shù)組中插入某些項(xiàng),只能使用"splice"

6、棧方法:pushpop
var arr = [1, 2];
arr.push("A", "B"); // 返回Array新的長(zhǎng)度: 4
arr; // [1, 2, "A", "B"]
arr.pop(); // pop()返回"B"
arr; // [1, 2, "A"]
arr.pop(); arr.pop(); arr.pop(); // 連續(xù)pop 3次
arr; // []
arr.pop(); // 空數(shù)組繼續(xù)pop不會(huì)報(bào)錯(cuò),而是返回undefined
arr; // []

補(bǔ)充:

(1)push: 方法可向數(shù)組的末尾添加一個(gè)或多個(gè)元素,并返回Array新的長(zhǎng)度。

arrayObject.push(newElement1,newElement2,...,newElementX)

newElement1: 必需。要添加到數(shù)組的第一個(gè)元素。
newElement2: 可選。要添加到數(shù)組的第二個(gè)元素。
newElementX: 可選??商砑佣鄠€(gè)元素。

返回值:把指定的值添加到數(shù)組后的新長(zhǎng)度。

push() 方法可把它的參數(shù)順序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是創(chuàng)建一個(gè)新的數(shù)組。push() 方法和 pop() 方法使用數(shù)組提供的先進(jìn)后出棧的功能。

(2)pop: 方法用于刪除并返回?cái)?shù)組的最后一個(gè)元素

arrayObject.pop()

返回值:arrayObject 的最后一個(gè)元素。

pop() 方法將刪除 arrayObject 的最后一個(gè)元素,把數(shù)組長(zhǎng)度減 1,并且返回它刪除的元素的值。如果數(shù)組已經(jīng)為空,則 pop() 不改變數(shù)組,并返回 undefined 值。

7、隊(duì)列方法:unshiftshift

unshiftshift的作用于pushpop類似,只不過前者操作的是Array的頭部.

var arr = [1, 2];
arr.unshift("A", "B"); // 返回Array新的長(zhǎng)度: 4
arr; // ["A", "B", 1, 2]
arr.shift(); // "A"
arr; // ["B", 1, 2]
arr.shift(); arr.shift(); arr.shift(); // 連續(xù)shift 3次
arr; // []
arr.shift(); // 空數(shù)組繼續(xù)shift不會(huì)報(bào)錯(cuò),而是返回undefined
arr; // []

注意: unshift() 方法無(wú)法在 Internet Explorer 中正確地工作!

8、重排序方法:sortreserve

arr.sort()

sort()可以對(duì)當(dāng)前Array進(jìn)行排序,它會(huì)直接修改當(dāng)前Array的元素位置,直接調(diào)用時(shí),按照默認(rèn)順序(將按字母順序?qū)?shù)組中的元素進(jìn)行排序)排序:

var arr = ["c","b","a","C","B","A"];
arr.sort();
arr;//["A","B","C","a","b","c"];

補(bǔ)充

arrayObject.sort(sortby)
sort() 方法用于對(duì)數(shù)組的元素進(jìn)行排序。

sortby: 可選。規(guī)定排序順序。必須是函數(shù)。

返回值:對(duì)數(shù)組的引用。請(qǐng)注意,數(shù)組在原數(shù)組上進(jìn)行排序,不生成副本。

如果調(diào)用該方法時(shí)沒有使用參數(shù),將按字母順序對(duì)數(shù)組中的元素進(jìn)行排序,說得更精確點(diǎn),是按照字符編碼的順序進(jìn)行排序。要實(shí)現(xiàn)這一點(diǎn),首先應(yīng)把數(shù)組的元素都轉(zhuǎn)換成字符串(如有必要),以便進(jìn)行比較。

如果想按照其他標(biāo)準(zhǔn)進(jìn)行排序,就需要提供比較函數(shù),該函數(shù)要比較兩個(gè)值,然后返回一個(gè)用于說明這兩個(gè)值的相對(duì)順序的數(shù)字。比較函數(shù)應(yīng)該具有兩個(gè)參數(shù) a 和 b,其返回值如下:

若 a 小于 b,在排序后的數(shù)組中 a 應(yīng)該出現(xiàn)在 b 之前,則返回一個(gè)小于 0 的值。

若 a 等于 b,則返回 0。

若 a 大于 b,則返回一個(gè)大于 0 的值。

舉例說明:
實(shí)例1:按數(shù)字大小對(duì)數(shù)字排序

function sortNumber(a,b){
    return a-b
}

var arr=[3,5,1,10,21];
arr.sort();
arr;//[1,10,21,3,5];
arr.sort(sortNumber);
arr;//[1,3,5,10,21]

實(shí)例2:默認(rèn)情況下,對(duì)字符串排序,是按照ASCII的大小比較的,現(xiàn)在,我們提出排序應(yīng)該忽略大小寫,按照字母序排序

var arr = ["Google","apple","Microsoft","BUPT"];
arr.sort();
arr;//["BUPT","Google","Microsoft","apple"];
arr.sort(function(s1,s2){
    var x1 = s1.toLowerCase();
    var x2 = s2.toLowerCase();
    if(x1x2)
        return 1;
    return 0;
});
arr;//["apple","BUPT","Google","Microsoft"]

arr.reverse()

將整個(gè)Array的元素給掉個(gè)(gě)個(gè)(gè),也就是反轉(zhuǎn):

var arr = ["one","two","three"];
arr.reverse();
arr;//["three","two","one"];

注意:該方法會(huì)直接改變?cè)瓉淼臄?shù)組,而不會(huì)創(chuàng)建新的數(shù)組。

9、轉(zhuǎn)換方法:join、toStringtoLocaleString、valueOf

arr.toString()

該方法會(huì)返回由數(shù)組中每個(gè)值的字符串形式拼接而成的一個(gè)以,分割的字符串.該方法首先會(huì)針對(duì)數(shù)組中的每一項(xiàng)調(diào)用其相應(yīng)的toString()方法得到字符串,然后再用,拼接這些字符串。

arr.valueOf()

該方法會(huì)返回?cái)?shù)組本身。

arr.toLocalString()

該方法也會(huì)創(chuàng)建一個(gè)數(shù)組值的以,分隔的字符串,但是與前面兩個(gè)方法不同的是,這一次為了取得數(shù)組中每一項(xiàng)的值,調(diào)用的是每一項(xiàng)的toLocaleString()方法。

arr.join()

join()方法是一個(gè)非常實(shí)用的方法,它把當(dāng)前Array的每個(gè)元素都用指定的字符串連接起來,然后返回連接后的字符串:

var arr = ["a","b","c",1,2,3];
var arrToString = arr.join("-");
arrToString;//a-b-c-1-2-3

注意:如果Array的元素不是字符串,將自動(dòng)轉(zhuǎn)換為字符串后再連接。

補(bǔ)充:

arrayObject.join(separator)
join()方法用于把數(shù)組中的所有元素放入一個(gè)字符串。元素是通過指定的分隔符進(jìn)行分隔的。

separator: 可選。指定要使用的分隔符。如果省略該參數(shù),則使用逗號(hào)作為分隔符

返回值:返回一個(gè)字符串。該字符串是通過把 arrayObject 的每個(gè)元素轉(zhuǎn)換為字符串,然后把這些字符串連接起來,在兩個(gè)元素之間插入 separator 字符串而生成的。

關(guān)于轉(zhuǎn)換方法,需要注意:

如果數(shù)組中某一項(xiàng)的值為null、undefined,那么該值在這些方法的返回結(jié)果中以空白字符串表示。

10、迭代方法:every、filterforEach、map、some

這些方法都接收兩個(gè)參數(shù):要在每一項(xiàng)上運(yùn)行的函數(shù)和(可選的)運(yùn)行該函數(shù)的作用域?qū)ο蟆绊?b>this的值。傳入這些方法的函數(shù)會(huì)接收三個(gè)參數(shù):數(shù)據(jù)項(xiàng)的值、該項(xiàng)在數(shù)組中的位置和數(shù)組對(duì)象本身。

every()對(duì)數(shù)值中的每一項(xiàng)運(yùn)行給定的函數(shù),如果數(shù)組對(duì)每一項(xiàng)返回true,則返回true.

some()對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定的函數(shù),如果該函數(shù)對(duì)任一項(xiàng)返回true,則返回true

這兩個(gè)方法會(huì)忽略數(shù)組中undefined項(xiàng)

filter()對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定的函數(shù),返回該函數(shù)會(huì)返回true的項(xiàng)組成的數(shù)組。

注意,該方法與jQuery$().filter()方法的區(qū)別

filter(expr|obj|ele|fn):篩選出與指定表達(dá)式匹配的元素集合。這個(gè)方法用于縮小匹配的范圍。用逗號(hào)分隔多個(gè)表達(dá)式。

expr:字符串值,包含供匹配當(dāng)前元素集合的選擇器表達(dá)式。
obj:現(xiàn)有的jQuery對(duì)象,以匹配當(dāng)前的元素。
ele:一個(gè)用于匹配元素的DOM元素。
fn:一個(gè)函數(shù)用來作為測(cè)試元素的集合。它接受一個(gè)參數(shù)index,這是元素在jQuery集合的索引。在函數(shù), this指的是當(dāng)前的DOM元素。

forEach()對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定的函數(shù),該方法沒有返回值。

注意,該方法不會(huì)遍歷只聲明而為定義的值

注意,該方法與jQuery$.each()each()方法的區(qū)別。

$.each(object,callback): 不同于例遍 jQuery 對(duì)象的 $().each() 方法,此方法可用于例遍任何對(duì)象。如果需要退出 each 循環(huán)可使回調(diào)函數(shù)返回 false,其它返回值將被忽略。

object:需要例遍的對(duì)象或數(shù)組。
callback:每個(gè)成員/元素執(zhí)行的回調(diào)函數(shù)?;卣{(diào)函數(shù)擁有兩個(gè)參數(shù):第一個(gè)為對(duì)象的成員或數(shù)組的索引index,第二個(gè)為對(duì)應(yīng)變量或內(nèi)容value。

$().each(callback): 以每一個(gè)匹配的元素作為上下文來執(zhí)行一個(gè)函數(shù)。意味著,每次執(zhí)行傳遞進(jìn)來的函數(shù)時(shí),函數(shù)中的this關(guān)鍵字都指向一個(gè)不同的DOM元素(每次都是一個(gè)不同的匹配元素)。而且,在每次執(zhí)行函數(shù)時(shí),都會(huì)給函數(shù)傳遞一個(gè)表示作為執(zhí)行環(huán)境的元素在匹配的元素集合中所處位置的數(shù)字值作為參數(shù)(從零開始的整型)。 返回 false 將停止循環(huán) (就像在普通的循環(huán)中使用 break)。返回 true 跳至下一個(gè)循環(huán)(就像在普通的循環(huán)中使用continue)。

calback:對(duì)于每個(gè)匹配的元素所要執(zhí)行的函數(shù)?;卣{(diào)函數(shù)只有一個(gè)參數(shù),即index。

11、歸并方法:reduce、reduceRight

這兩個(gè)方法都會(huì)迭代數(shù)組中的所有項(xiàng),然后構(gòu)建一個(gè)最終返回的值。reduce()從數(shù)組的第一項(xiàng)開始,逐個(gè)遍歷到最后,而reduceRight()從最后一項(xiàng)開始。

這兩個(gè)方法都接收兩個(gè)參數(shù):一個(gè)在每一項(xiàng)上調(diào)用的函數(shù),和(可選的)最為歸并基礎(chǔ)的初始值。

傳給這兩個(gè)方法的函數(shù)接收4個(gè)參數(shù):前一個(gè)值,當(dāng)前值,當(dāng)前值的索引和數(shù)組對(duì)象。這個(gè)函數(shù)返回的任何值都會(huì)作為第一個(gè)參數(shù)自動(dòng)傳給下一項(xiàng),因此,第一次迭代發(fā)生在數(shù)組的第二項(xiàng)上。

參考

1、數(shù)組-廖雪峰的官方網(wǎng)站
2、js中substr,substring,indexOf,lastIndexOf的用法小結(jié)
3、 JavaScript 檢測(cè)數(shù)組
4、[javascript 高級(jí)教程]()

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/79422.html

相關(guān)文章

  • Javascript基礎(chǔ)之Array數(shù)組API

    摘要:數(shù)組原型提供的方法非常之多,主要分為三種直接修改原數(shù)組原數(shù)組不變,返回新數(shù)組數(shù)組遍歷方法直接修改原數(shù)組的刪除一個(gè)數(shù)組中的最后的一個(gè)元素,并且返回這個(gè)元素添加一個(gè)或者多個(gè)元素到數(shù)組末尾,并且返回?cái)?shù)組新的長(zhǎng)度刪除數(shù)組的第一個(gè)元素,并返回這個(gè)元素 Javascript數(shù)組原型提供的方法非常之多,主要分為三種: 直接修改原數(shù)組 原數(shù)組不變,返回新數(shù)組 數(shù)組遍歷方法 直接修改原數(shù)組的API ...

    hsluoyz 評(píng)論0 收藏0
  • JavaScript知識(shí)點(diǎn)總結(jié)

    摘要:參與任何數(shù)值計(jì)算的結(jié)構(gòu)都是,而且。。面向人類的理性事物,而不是機(jī)器信號(hào)。達(dá)到無(wú)刷新效果。的工作原理總是指向一個(gè)對(duì)象,具體是運(yùn)行時(shí)基于函數(shù)的執(zhí)行環(huán)境動(dòng)態(tài)綁定的,而非函數(shù)被聲明時(shí)的環(huán)境。原型對(duì)象上有一個(gè)屬性,該屬性指向的就是構(gòu)造函數(shù)。 1.JS面向?qū)ο蟮睦斫?面向?qū)ο蟮娜筇攸c(diǎn):繼承、封裝、多態(tài) 1、JS中通過prototype實(shí)現(xiàn)原型繼承 2、JS對(duì)象可以通過對(duì)象冒充,實(shí)現(xiàn)多重繼承, 3...

    sean 評(píng)論0 收藏0
  • javascript數(shù)組方法總結(jié)

    摘要:返回值如果查找到該元素則返回否則返回方法用法該方法為數(shù)組中的項(xiàng)執(zhí)行直到找到一個(gè)滿足條件的即返回否則返回被調(diào)用時(shí)不會(huì)改變數(shù)組。返回值排序后的數(shù)組注意原數(shù)組已經(jīng)修改 javascript數(shù)組方法 給數(shù)組增加元素 (1) array.push(element1,...,elementN) 用途:push方法在原來的數(shù)組末尾添加一個(gè)或者多個(gè)元素;返回值是:新數(shù)組的長(zhǎng)度; (2) ...

    HitenDev 評(píng)論0 收藏0
  • JavaScript數(shù)組循環(huán)遍歷總結(jié)

    摘要:如果省略,則將用作值返回值如果函數(shù)為所有數(shù)組元素返回,則為否則為。不為數(shù)組中缺少的元素調(diào)用該回調(diào)函數(shù)。數(shù)組元素的數(shù)字索引。方法會(huì)為中的每個(gè)元素調(diào)用函數(shù),直到返回,或直到到達(dá)數(shù)組的結(jié)尾。 這一部分應(yīng)該放在《JavaScript處理數(shù)組函數(shù)總結(jié)》里面的,但是。。。。。。沒有但是。 1. for for循環(huán)最常用的地方是利用索引來遍歷數(shù)組: var arr = [Microsoft,Goog...

    missonce 評(píng)論0 收藏0
  • javaScript學(xué)習(xí)總結(jié)

    摘要:級(jí)事件處理程序把一個(gè)函數(shù)賦值給一個(gè)事件的處理程序?qū)傩约?jí)事件處理程序定義了兩個(gè)方法,用于指定和刪除事件處理程序的操作。 基本概念 javaScript是一門解釋型語(yǔ)言,瀏覽器充當(dāng)解釋器。js執(zhí)行時(shí),在同一個(gè)作用域是先解釋再執(zhí)行。解釋的時(shí)候會(huì)編譯function和var這兩個(gè)關(guān)鍵詞定義的變量,編譯完成后從上往下執(zhí)行并向變量賦值。ECMASCript中的一切(包括變量、函數(shù)名、操作符)都區(qū)分...

    asce1885 評(píng)論0 收藏0
  • JS程序

    摘要:設(shè)計(jì)模式是以面向?qū)ο缶幊虨榛A(chǔ)的,的面向?qū)ο缶幊毯蛡鹘y(tǒng)的的面向?qū)ο缶幊逃行┎顒e,這讓我一開始接觸的時(shí)候感到十分痛苦,但是這只能靠自己慢慢積累慢慢思考。想繼續(xù)了解設(shè)計(jì)模式必須要先搞懂面向?qū)ο缶幊?,否則只會(huì)讓你自己更痛苦。 JavaScript 中的構(gòu)造函數(shù) 學(xué)習(xí)總結(jié)。知識(shí)只有分享才有存在的意義。 是時(shí)候替換你的 for 循環(huán)大法了~ 《小分享》JavaScript中數(shù)組的那些迭代方法~ ...

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

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

0條評(píng)論

instein

|高級(jí)講師

TA的文章

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