欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Javascript入門學(xué)習(xí)第四篇 js對(duì)象和數(shù)組

 更新時(shí)間:2008年07月06日 10:00:06   作者:  
上篇文章講了js中的變量,表達(dá)式,和運(yùn)算符 還有一些 js 語句. 這章我們來探討js中的對(duì)象和數(shù)組。

7, 添加數(shù)組的內(nèi)存使用:
   a[10] =  “test” ; //添加新的元素
內(nèi)存的使用:
比如:
a[0] = “1” ;
a[10] =” 10” ;
那么js值給下標(biāo)為0 和10的元素分配內(nèi)存,中間的9個(gè)元素不被分配;

注:數(shù)組也可以添加到對(duì)象中;
比如;
var a = new Circle(1,2,3);
a[0]= “test” ;
這個(gè)例子定義了一個(gè)名為” 0 “的新對(duì)象屬性。
只將數(shù)組元素添加到一個(gè)對(duì)象中并不會(huì)使它成為數(shù)組。

8, 刪除數(shù)組:
var a = [1,2];
 delete a[0];
 alert(a[0])  //輸出 undefined
 alert(a[1])  //輸出 2
由例子可以看出,delete刪除其實(shí)沒有真正刪除,只不過把元素設(shè)置為undefined; 

如果要真正刪除,可以使用Array.shift(),等方法。
比如:
var a = [1,2];
 delete a[0];
 alert(a[0])  //輸出 undefined
 alert(a[1])  //輸出 2
 a.shift();  //刪除數(shù)組的第一個(gè)元素
 alert(a[0])  //輸出 2
 alert("length:"+a.length);
 alert(a[1])  //輸出 undefined ;   1已經(jīng)被刪除了,其實(shí)數(shù)組已經(jīng)的長度只有 1 了;

9,數(shù)組的length:
a[49] = “a”;
// 那么這個(gè)數(shù)組的長度是  50  ;

length屬性經(jīng)常用于遍歷數(shù)組元素;
比如:
   var  a  = [“a” , “b “ ,”c” ];
for(var i = 0 ; i< a.length ; i++){
alert(a[i]);
}

這個(gè)是在假定元素是連續(xù)的,如果不是這種情況:
必須檢測(cè)每個(gè)元素是否被定義  : 比如:
for(var i = 0 ; i< a.length ; i++){
if(a[i]){ 
alert(a[i]); 
}
}

多維數(shù)組: a[i][j] ;


10,數(shù)組的一些方法:
 1):join() 方法:
把一個(gè)數(shù)組的所有元素都轉(zhuǎn)換成字符串。
比如:var  a  = [1,2,3];
    var s =   a.join();   // 輸出 s==1,2,3
 當(dāng)然也可以 指定一個(gè)分隔符;
比如;
   s = a.join(“,”);  
這個(gè)方法跟String.split()相反, split()將一個(gè)字符串分割成幾個(gè)片段來創(chuàng)建數(shù)組;

2):reverse () 方法:
 把一個(gè)數(shù)組顛倒。
     var  a   = new Array(1,2,3);
a.reverse();
var s  =  a.join();  //s == “3,2,1”

3):sort() 方法:
排序
♂:如果不給傳參數(shù),那么按照字母順序?qū)?shù)組元素排序。
var a = new Array(“ee”,”df”,”b”);
a.sort()
var s = a.join(“, ”);  // s ==  “b, df, ee” 
♂:如果傳參數(shù):
比如:
var a = [33,4,1111,222]
a.sort(); // 排序 :  1111 ,222 ,33,4
a.sort(function(x,y){
       return x-y;
});
var s  = a.join(); //輸出  4, 33,222,1111

//可以從例子看出,排序如果x > y ,那么第一個(gè)參數(shù)就排在第2個(gè)參數(shù)后,
比如;  1111 ,222   -?     1111-222>0  -? 則  222 , 1111
另外注意下 字母排序:因?yàn)閖s是區(qū)分大小寫,所以排序的時(shí)候,把字符統(tǒng)一成大寫或者小寫,再排序。

4):concat() 方法:
var  a  = [1,2,3];
 a= a.concat(4, [5,6],7);
 a=a.join(); //輸出 1,2,3,4,5,6,7
 alert(a)
注意:
如果是數(shù)組里面還有數(shù)組 ,就不能展開了。
比如:
var a  = [1,2,3];
 a = a.concat(4,[5,[6,6]],7);
 alert(a);  //這個(gè)看不出來
 a = a.join("|");
 alert(a);  //分割后,注意有個(gè)逗號(hào)

-------------------------------------

 var  c  = [1,2,3];
 var  d  =new Array(1,2,3);
alert(c); //1,2,3
alert(d); //1,2,3
//之所以不輸出Object ,是因?yàn)?
//數(shù)組是一個(gè)具有額外功能層的對(duì)象.
//我們記住他的特殊性。

5):slice() 方法:
返回?cái)?shù)組某一個(gè)片段。跟字符串的substring方法類似。

6):splice() 方法:
首先他跟 slice 方法 只有一個(gè)字母的差別,不過用處完全不同。
他可以用來刪除。
var a  = [1,2,3];
 a = a.splice(0,2);
 alert(a);  // 輸出 1, 2
 a = a.splice(1,2);
 alert(a);  //  輸出 2  。 如果是  a = a.splice(0 , 1) ;  輸出  1 
 a = a.splice(1,2);
 alert(a);  //  沒有刪除任何數(shù)組 , 輸出 空 數(shù)組

他也可以插入數(shù)組。具體方法:
    var array1 = new Array("1","2","3","4");
    array1.splice(1,0,"5");//在 第2個(gè)元素后面,插入 5 ; 如果第2個(gè)參數(shù)為0,則不刪除。
    document.write(array1+"<br>"); //輸出  1, 5 ,2 ,3,4
    array1.splice(2,3,"7","8")  // 刪除 第3個(gè)的 元素后的 3個(gè)元素。也就是 第3個(gè),第4個(gè),第5個(gè)元素。然后在這個(gè)位置上插入7,8
    document.write(array1);//輸出  1, 5 ,7,8
注意:和concat()不同,splice并不將他插入的參數(shù)展開。也就是如果插入一個(gè)數(shù)組,他就是插入數(shù)組本身,還不是數(shù)組的元素。
而concat()插入數(shù)組的話,就會(huì)把數(shù)組展開,插入數(shù)組中的元素,不過當(dāng)插入的數(shù)組里
還有數(shù)組的時(shí)候,就不會(huì)展開了。


7):push() 方法和pop()方法:
push(): 將一個(gè)或者多個(gè)數(shù)組 附加到數(shù)組的尾部。
pop() : 刪除數(shù)組的最后一個(gè)元素。
var array1 = new Array("1","2","3","4");
    array1.push("5");
    document.write(array1+"<br>"); //輸出  1, 2 ,3 ,4,5
    array1.pop()  
    document.write(array1);//輸出  1, 2 ,3 ,4

8):unshift() 方法和shift ()方法:
跟push和pop唱反調(diào)。。。
unshift (): 將一個(gè)或者多個(gè)數(shù)組 附加到數(shù)組的頭部。
shift ():刪除數(shù)組的第一個(gè)元素。


數(shù)組的一些方法是比較多,看起來也比較煩。所以大家應(yīng)該有點(diǎn)耐心。
另外可以參考這篇文章;
http://www.cssrain.cn/article.asp?id=438



總結(jié):這章主要講了對(duì)象和數(shù)組的一些方法。比較難記和難理解。不過任何事情都是從難到容易的過程。一次沒看懂,再看一次。。。書讀百遍,其意自現(xiàn)。。。。。。
也許你不需要讀一百遍呢.   ^_^。


是不是感覺看了這么多js概念,已經(jīng)迫不及待的想自己寫點(diǎn)例子什么的。好吧。
下章我們 來點(diǎn)實(shí)戰(zhàn)的。。。。
如果還有不懂,可以google 搜索資料. (

相關(guān)文章

  • JS Attribute屬性操作詳解

    JS Attribute屬性操作詳解

    下面小編就為大家?guī)硪黄狫S Attribute屬性操作詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-05-05
  • javascript中的作用域和上下文使用簡要概述

    javascript中的作用域和上下文使用簡要概述

    下面全面揭示了javascript中的上下文和作用域的不同,以及各種設(shè)計(jì)模式如何使用他們,感興趣的朋友不要錯(cuò)過
    2013-12-12
  • 基于JS腳本語言的基礎(chǔ)語法詳解

    基于JS腳本語言的基礎(chǔ)語法詳解

    下面小編就為大家?guī)硪黄贘S腳本語言的基礎(chǔ)語法詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • JavaScript中的Math.E屬性使用詳解

    JavaScript中的Math.E屬性使用詳解

    這篇文章主要介紹了JavaScript中的Math.E屬性使用詳解,是JS入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-06-06
  • js 數(shù)組操作代碼集錦

    js 數(shù)組操作代碼集錦

    用js有很久了,但都沒有深究過js的數(shù)組形式。偶爾用用也就是簡單的string.split(char)。
    2009-04-04
  • 一文帶你了解JavaScript基礎(chǔ)之深拷貝和淺拷貝

    一文帶你了解JavaScript基礎(chǔ)之深拷貝和淺拷貝

    這篇文章主要為大家介紹了JavaScript深拷貝和淺拷貝,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • 最新評(píng)論