刪除數(shù)組中的元素
你或許已經(jīng)知道聊闯,js中要向數(shù)組中增加元素史简,需要用的是push方法。沒有和其他語言中類似的add方法顽频,是不是很不適應(yīng)藤肢?
但是要是告訴你,從數(shù)組中刪除元素的方法沒有糯景,你是不是簡直不敢相信嘁圈!你如果要說用到delete關(guān)鍵字,那么給你看一個(gè)嚇?biāo)滥愕模?/p>
var s=[1,2,3,4];
delete s[1];
這樣操作之后,你猜猜操作結(jié)果是怎樣的蟀淮?
不買關(guān)子最住,結(jié)果是這樣的:
[1,udefind * 1,3,4]
被刪除的元素,其實(shí)只是將這個(gè)元素的值刪除了灭贷,但是并沒有改變這個(gè)數(shù)組温学。即沒有把這個(gè)數(shù)組變成[1,3,4],而如果需要變成這樣甚疟,則需要用到splice方法:
s.splice(1,1);
關(guān)于更多仗岖,請查看 文檔。
注意:splice方法的本意就是拼接览妖,替換元素轧拄。這里用到完成刪除,只是將拼接的第三個(gè)參數(shù)為空讽膏,達(dá)到目的檩电。
嚴(yán)格模式
'use strict';
不知你是否看到別人寫帶js文件,第一行總是出現(xiàn)這一行匿名的字符串府树。這其實(shí)是ECMAscript 5中引入的嚴(yán)格模式俐末!
傳統(tǒng)的js代碼執(zhí)行模式,也就是你不在第一行聲明這個(gè)匿名字符串時(shí)奄侠,是正常模式卓箫。這個(gè)模式中有很多Javascript非常靈活的特性(也非常蛋疼)。比如垄潮,如果一個(gè)變量沒有使用var關(guān)鍵字申明烹卒,則是一個(gè)全局變量。很讓人容易錯(cuò)亂的語法糖弯洗。
更多相關(guān)內(nèi)容旅急,查看。
geter&seter
js的對象也是有g(shù)eter和seter牡整,這種方式可以靈活的運(yùn)用到藐吮,比如當(dāng)一個(gè)屬性只是可讀的。這時(shí)便可以使用geter方法來取的元素。
下面是一個(gè)geter和seter的例子:
var obj = {
_x : 1,
get getX(){
return this._x;
},
set setX(x){
this._x = x;
}
};