手机Av在线不卡,99r这里只有精品11,一区二区啪啪啪网站,白虎美女在线

新思緯教育機(jī)構(gòu)

[網(wǎng)絡(luò)營銷]
獵學(xué)網(wǎng)訂閱號(hào)
獵學(xué)網(wǎng)官方企業(yè)微信
位置: 獵學(xué)網(wǎng) > 學(xué)校機(jī)構(gòu) > 新思緯教育機(jī)構(gòu) > 學(xué)習(xí)資訊> JavaScript開發(fā)小建議

JavaScript開發(fā)小建議

176 2017-06-28

開發(fā)小建議

這篇文章將向你分享一些不為人知的但很有用的小建議,對(duì)那些剛涉及使用編程語言的初級(jí)開發(fā)者應(yīng)該有很大的幫助。

1.用數(shù)組長度截取數(shù)組

我們都知道,對(duì)象都是通過使用引用的,但這并不是唯一的準(zhǔn)則,請(qǐng)看下面的檢驗(yàn)案例:

1

2

3

4vararr1=arr2=[1,2,3];

//Changearr1

arr1=[];//arr2willstillbe[1,2,3]

最初,arr1和arr2都指向了數(shù)組[1,2,3],之后當(dāng)arr1重新指向[]的時(shí)候,arr2的引用并沒有發(fā)生什么變化,仍然指向[1,2,3]。但是如果我們想讓arr1和arr2都指向[]的話,那應(yīng)該怎么做呢?我們可以利用數(shù)組的長度屬性。當(dāng)設(shè)置arr1.length=0的時(shí)候,arr1里面的要素將被清空。而引用是不會(huì)改變的,所以arr1和arr2指向[]。

2.用push來合并數(shù)組

我們通常使用concat()來合并兩個(gè)數(shù)組,例如:

1

2

3

4

5vararr1=[1,2,3];

vararr2=[4,5,6];

vararr3=arr1.concat(arr2);

arr3;

[1,2,3,4,5,6]

我們同樣可以利用push()來達(dá)到這種效果:

1

2

3

4

5vararr1=[1,2,3];

vararr2=[4,5,6];

Array.prototype.push.apply(arr1,arr2);

arr1

[1,2,3,4,5,6]

應(yīng)用這種方法可以把一個(gè)數(shù)組作為第二個(gè)參數(shù),因此,arr2能夠被推送到arr1里面。

3.特征檢測

在我們使用的很多API里,我們能看到一些特征檢測語句,這些語句是用來檢查瀏覽器是否支持特定的屬性或方法,以便能夠支持跨瀏覽器兼容性??梢赃@樣做:

1

2

3

4

5if(window.opera){

console.log("OPERA");

}else{

console.log("NOTOPERA");

}

這樣的運(yùn)作方式是正確的,但它的缺點(diǎn)是效率不高。這種類型的對(duì)象檢測將在瀏覽器里初始化資源。更有效地方式是檢查密鑰是否在某一個(gè)對(duì)象里。

1

2

3

4

5if("opera"inwindow){

console.log("OPERA");

}else{

console.log("NOTOPERA");

}

4.檢查某一個(gè)對(duì)象是不是數(shù)組

在編程語言里,我們可以使用typeof來檢查變量的類型,typeof可以返回?cái)?shù)字、布爾值、字符串、對(duì)象、函數(shù)和未定義的對(duì)象。事實(shí)上這里沒有數(shù)組,typeof數(shù)組就是一個(gè)對(duì)象。所以我們?cè)趺磥頉Q定一個(gè)對(duì)象就是一個(gè)數(shù)組呢?在ECMAScript5編程語言里,我們可以使用Array.isArray(obj)來檢查這里所提到的問題。但是目前ECMAScript5還沒有得到廣泛使用。

不過,我們可以使用下面的方法:

1

2

3varobj=[];

Object.prototype.toString.call(obj)=="[objectArray]";

true

溫馨提示: 專業(yè)老師1對(duì)1為您解答    馬上填寫,¥1000 元豪禮免費(fèi)領(lǐng)!

掃一掃
獲取更多福利

×
獵學(xué)網(wǎng)