Javascript 語(yǔ)法(四)

今天我們來(lái)說(shuō)說(shuō)JS的復(fù)雜數(shù)據(jù)類(lèi)型巷挥。數(shù)組 、對(duì)象稱(chēng)為復(fù)雜類(lèi)型验靡,也稱(chēng)為引用類(lèi)型倍宾。比如數(shù)組 函數(shù) 正則 時(shí)間函數(shù) 都屬于對(duì)象類(lèi)型,當(dāng)然也屬于復(fù)雜數(shù)據(jù)類(lèi)型晴叨。

如何查看一個(gè)變量是何種數(shù)據(jù)類(lèi)型呢凿宾?使用關(guān)鍵字 typeof 或者 instanceof .

在 JavaScript 中,判斷一個(gè)變量的類(lèi)型嘗嘗會(huì)用 typeof 運(yùn)算符兼蕊,在使用 typeof 運(yùn)算符時(shí)采用引用類(lèi)型存儲(chǔ)值會(huì)出現(xiàn)一個(gè)問(wèn)題初厚,無(wú)論引用的是什么類(lèi)型的對(duì)象,它都返回 “object”孙技。這就需要用到instanceof來(lái)檢測(cè)某個(gè)對(duì)象是不是另一個(gè)對(duì)象的實(shí)例产禾。

typeof
instanceof.png

數(shù)組

創(chuàng)建數(shù)組的方式有兩種方式 : 構(gòu)造函數(shù)和字面量

構(gòu)造函數(shù)
1.無(wú)參構(gòu)造函數(shù),創(chuàng)建一空數(shù)組
var a1 = new Array();

2.一個(gè)數(shù)字參數(shù)構(gòu)造函數(shù)牵啦,指定數(shù)組長(zhǎng)度(由于數(shù)組長(zhǎng)度可以動(dòng)態(tài)調(diào)整亚情,作用并不大),創(chuàng)建指定長(zhǎng)度的數(shù)組
var a2 = new Array(5);

3.帶有初始化數(shù)據(jù)的構(gòu)造函數(shù)哈雏,創(chuàng)建數(shù)組并初始化參數(shù)數(shù)據(jù)
var a3 = new Array(4, 'hello', new Date());

字面量
1.使用方括號(hào)楞件,創(chuàng)建空數(shù)組衫生,等同于調(diào)用無(wú)參構(gòu)造函數(shù)
var a4 = [];

2.使用中括號(hào),并傳入初始化數(shù)據(jù)土浸,等同于調(diào)用帶有初始化數(shù)據(jù)的構(gòu)造函數(shù)
var a5 = [10];

注意點(diǎn)
1.在使用構(gòu)造函數(shù)創(chuàng)建數(shù)組時(shí)如果傳入一個(gè)數(shù)字參數(shù)罪针,則會(huì)創(chuàng)建一個(gè)長(zhǎng)度為參數(shù)的數(shù)組,如果傳入多個(gè)黄伊,則創(chuàng)建一個(gè)數(shù)組泪酱,參數(shù)作為初始化數(shù)據(jù)加到數(shù)組中
var a1 = new Array(5); console.log(a1.length);//5 console.log(a1); //[] ,數(shù)組是空的 var a2 = new Array(5,6); console.log(a2.length);//2 console.log(a2); //[5,6]

但是使用字面量方式,無(wú)論傳入幾個(gè)參數(shù)还最,都會(huì)把參數(shù)當(dāng)作初始化內(nèi)容
var a1 = [5];console.log(a1.length);//1console.log(a1); //[5]var a2 = [5,6];console.log(a2.length);//2console.log(a2); //[5,6]

2.使用帶初始化參數(shù)的方式創(chuàng)建數(shù)組的時(shí)候墓阀,最好最后不要帶多余的”,”,在不同的瀏覽器下對(duì)此處理方式不一樣
var a1 = [1,2,3,];console.log(a1.length);console.log(a1);

這段腳本在現(xiàn)代瀏覽器上運(yùn)行結(jié)果和我們?cè)O(shè)想一樣拓轻,長(zhǎng)度是3斯撮,但是在低版本IE下確實(shí)長(zhǎng)度為4的數(shù)組,最后一條數(shù)據(jù)是undefined

有var關(guān)鍵字聲明的變量和沒(méi)有var關(guān)鍵字聲明的變量有何區(qū)別悦即?

var.png

如果不加var 關(guān)鍵字 , 其結(jié)果相當(dāng)于window 對(duì)象的一個(gè)屬性
window.b = 1吮成。

棧方法和堆方法

push 向數(shù)組添加一個(gè)成員,放置數(shù)組的末尾辜梳,其它成員順次移動(dòng)粱甫。返回該數(shù)組的長(zhǎng)度。

push.png

pop 將數(shù)組的最后一個(gè)成員 刪除作瞄,其它成員順次移動(dòng)茶宵。返回刪除該數(shù)組成員。

pop.png

unshift 向數(shù)組添加一個(gè)成員放置數(shù)組的第一位宗挥,其它成員順次移動(dòng)乌庶。返回該數(shù)組的長(zhǎng)度。

unshift.png

shift 將數(shù)組的第一個(gè)成員 刪除契耿,其它成員順次移動(dòng)瞒大。返回刪除的原數(shù)組成員。

shift.png

其它數(shù)組方法
split 將一個(gè)字符串轉(zhuǎn)化為一個(gè)字符串?dāng)?shù)組搪桂。返回一個(gè)新的字符串?dāng)?shù)組透敌,原字符串無(wú)變化。

split.png

Join(separator) 將數(shù)組中的成員放入一個(gè)字符串中踢械,并返回該字符串酗电。

join.png

splice 任意位置添加/刪除數(shù)組中的成員,其它成員并順次移動(dòng)内列。對(duì)原數(shù)組進(jìn)行操作撵术。

splice.png

1 如果有兩個(gè)參數(shù),第一個(gè)參數(shù)表示起始的下標(biāo)话瞧,第二個(gè)參數(shù)表示刪除的個(gè)數(shù)嫩与。

arr.splice(0,1)
從數(shù)組的下標(biāo)為0的開(kāi)始寝姿,刪除1個(gè)長(zhǎng)度的成員。返回刪除的數(shù)組成員划滋。

2 如果有N個(gè)參數(shù)会油,第一個(gè)參數(shù)表示起始的下標(biāo),第二個(gè)設(shè)置為0(表示沒(méi)有刪除),上下的表示要添加的數(shù)組成員古毛。

arr.splice(0,0,1)
從數(shù)組的下標(biāo)為0的開(kāi)始,添加1個(gè)長(zhǎng)度的成員都许。返回?cái)?shù)組的長(zhǎng)度稻薇。

slice 將原數(shù)組中一部分淺復(fù)制存入一個(gè)新的數(shù)組對(duì)象中,并返回這個(gè)新的數(shù)組 胶征,對(duì)原始數(shù)組沒(méi)有改變塞椎。

Slice.png

concact 將兩個(gè)數(shù)組拼接到一起.返回一個(gè)新的數(shù)組。

concat.png

reverse 將數(shù)組中元素倒敘排列

reserve.png

sort 先要轉(zhuǎn)換為字符串 用ASCII碼 進(jìn)行比較

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末睛低,一起剝皮案震驚了整個(gè)濱河市案狠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌钱雷,老刑警劉巖骂铁,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異罩抗,居然都是意外死亡拉庵,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)套蒂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)钞支,“玉大人,你說(shuō)我怎么就攤上這事操刀∷感” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵骨坑,是天一觀的道長(zhǎng)撼嗓。 經(jīng)常有香客問(wèn)我,道長(zhǎng)卡啰,這世上最難降的妖魔是什么静稻? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮匈辱,結(jié)果婚禮上振湾,老公的妹妹穿的比我還像新娘。我一直安慰自己亡脸,他們只是感情好押搪,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布树酪。 她就那樣靜靜地躺著,像睡著了一般大州。 火紅的嫁衣襯著肌膚如雪续语。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,821評(píng)論 1 290
  • 那天厦画,我揣著相機(jī)與錄音疮茄,去河邊找鬼。 笑死根暑,一個(gè)胖子當(dāng)著我的面吹牛力试,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播排嫌,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼畸裳,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了淳地?” 一聲冷哼從身側(cè)響起怖糊,我...
    開(kāi)封第一講書(shū)人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎颇象,沒(méi)想到半個(gè)月后伍伤,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡夯到,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年嚷缭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耍贾。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡阅爽,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出荐开,到底是詐尸還是另有隱情付翁,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布晃听,位于F島的核電站百侧,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏能扒。R本人自食惡果不足惜佣渴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望初斑。 院中可真熱鬧辛润,春花似錦、人聲如沸见秤。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至乎澄,卻和暖如春突硝,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背置济。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工解恰, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人浙于。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓修噪,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親路媚。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容

  • 工廠模式類(lèi)似于現(xiàn)實(shí)生活中的工廠可以產(chǎn)生大量相似的商品樊销,去做同樣的事情整慎,實(shí)現(xiàn)同樣的效果;這時(shí)候需要使用工廠模式。簡(jiǎn)單...
    舟漁行舟閱讀 7,726評(píng)論 2 17
  • 數(shù)組 在程序語(yǔ)言中數(shù)組的重要性不言而喻围苫,JavaScript中數(shù)組也是最常使用的對(duì)象之一裤园,數(shù)組是值的有序集合,由于...
    南山碼農(nóng)閱讀 195評(píng)論 0 0
  • Math Math對(duì)象時(shí)JavaScript的內(nèi)置對(duì)象剂府,提供一系列數(shù)學(xué)常數(shù)和數(shù)學(xué)方法拧揽。Math對(duì)象只提供了靜態(tài)的屬...
    匿名用戶(hù)404閱讀 338評(píng)論 0 0
  • 今天的貓叔小灶晨讀講的是成為領(lǐng)域高手的三大狠招淤袜,在我看來(lái)實(shí)際上可以總結(jié)成為一句話(huà):想好就快去做,請(qǐng)堅(jiān)持下去衰伯! 下...
    落語(yǔ)無(wú)聲閱讀 236評(píng)論 2 3
  • 這是一個(gè)最好的時(shí)代铡羡,也是一個(gè)最壞的時(shí)代。數(shù)據(jù)爆炸帶來(lái)了大量信息意鲸,我們需要了解的更多烦周,需要學(xué)習(xí)的更多,需要融入的更多...
    古月居閱讀 231評(píng)論 0 0