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

javascript數(shù)組詳解

 更新時(shí)間:2014年10月22日 11:04:05   投稿:hebedich  
數(shù)組對象用來在單獨(dú)的變量名中存儲一系列的值。我們使用關(guān)鍵詞 new 來創(chuàng)建數(shù)組對象。有兩種向數(shù)組賦值的方法,也可以使用一個(gè)整數(shù)自變量來控制數(shù)組的容量

如果你是一個(gè)有經(jīng)驗(yàn)的開發(fā)者,你可能會認(rèn)為這個(gè)問題比較簡單,但是有的時(shí)候,我們會感覺這個(gè)問題比較有趣。

首先我們來看看數(shù)組的定義:“An array is just a list of values which can be accessed by using an integer as the “key”. The list starts at 0 and goes up from there.”,下面我們用對象來描述數(shù)組的定義:

復(fù)制代碼 代碼如下:

var arr = ["benjamin", "zuojj"];
//=>
var arr = {
    "0": "benjamin",
    "1": "zuojj"
};

看上面的例子,總感覺缺少了什么,OK,數(shù)組的長度:

復(fù)制代碼 代碼如下:

 var arr = {
    "0"      : "benjamin",
    "1"      : "zuojj",
    "length" : 2
};

我們知道,在Javascript語言中,數(shù)組是一個(gè)特殊的對象,我們可以使用訪問數(shù)組的方式來訪問對象的屬性,同時(shí),數(shù)組也可以像對象那樣添加屬性。看下例:

復(fù)制代碼 代碼如下:

var arr = {
    "0"      : "benjamin",
    "1"      : "zuojj",
    "length" : 2
};
//Outputs: "benjamin"
console.log(arr[0]);
//Outputs: 2
console.log(arr.length);

var arr = ["benjamin", "zuojj"];
arr.url = "www.dbjr.com.cn";
//Outputs: "www.dbjr.com.cn"
console.log(arr.url);
//Outputs: 2
console.log(arr.length);

下面我們來看看數(shù)組的方法,數(shù)組有很多可操作的方法,如indexOf/slice/splice/sort等,我們知道實(shí)際上這些方法存在于Array.prototype中??聪旅娴睦樱?/p>

復(fù)制代碼 代碼如下:

var arr = ["benjamin", "zuojj"];
//Outputs: 1
console.log(arr.indexOf("zuojj"));
arr.indexOf = function(str) {
    return "It is customed indexOf!";
}
//Outputs: "It is customed indexOf!"
console.log(arr.indexOf("zuojj"));

事實(shí)上,我們可以使用對象重載所有的數(shù)組方法??聪旅娴膒ush方法的例子:

復(fù)制代碼 代碼如下:

var arr = {
    length: 0,
    push: function(val) {
        //賦值
        this[this.length] = val;
        //更新數(shù)組長度
        this.length += 1;
        //返回?cái)?shù)組長度
        return this.length;
    }
}
arr.push("zuojj");
arr.push("benjamin");
//Object {0: "zuojj", 1: "benjamin", length: 2, push: function}
console.log(arr);

但是有一個(gè)是不能從新實(shí)現(xiàn)的,數(shù)組的字面量定義:

復(fù)制代碼 代碼如下:
var arr = ["benjamin", "zuojj"];

但是我們可以使用構(gòu)造函數(shù)來代替:

復(fù)制代碼 代碼如下:
var arr = new Array("benjamin", "zuojj");

如果不適用字面量定義數(shù)組,那么我們可以重定義數(shù)組的定義,以我們自己的方式。

復(fù)制代碼 代碼如下:
var myArr = new CustomArray("benjamin", "zuojj");

現(xiàn)在你知道javascript中數(shù)組是如何工作的了吧,希望對大家有所幫助。

相關(guān)文章

最新評論