1.1 constructor
返回對建立此物件的陣列函式的引用。
語法:object.constructor //object是物件或函式的名稱。
說明:constructor 屬性是所有具有 prototype 的物件的成員。它們包括除 global 和 math 物件以外的所有 jscript 固有物件。constructor 屬性儲存了對構造特定物件例項的函式的引用。
例如:
var arr1 = new array(); //size可選,不是上限,是長度
document.write(arr1.constructor); //
function array()
document.write(arr1.constructor == array); //
true
1.2 length
設定或返回陣列中元素的數目。需要說明的是,如果設定的值比其當前值小,陣列將被截斷,其尾部的元素將丟失。如果設定的值比它的當前值大,陣列將增大,新的元素被新增到陣列的尾部,它們的值為 undefined。
1.3 prototype
使您有能力向物件新增屬性和方法。prototype 屬性是 object 共有的。
語法:objectname.prototype;//objectname 引數是object物件的名稱。
說明:用 prototype 屬性提供物件的類的一組基本功能。 物件的新例項「繼承」賦予該物件原型的操作。
對於陣列物件,以下例子說明prototype 屬性的用途。
functionsetname(name)
//建立乙個陣列並賦值
var arr2 = ["zhangsan", "lisi"];
array.prototype.setname =setname;
arr2.setname("人員列表");
document.write(arr2.name);
//人員列表
2.1 陣列的建立
//建立乙個陣列
var arr1 = new array([size]); //
size可選,不是上限,是長度
arr1[0] = "zhangsan"; //
給陣列賦值
arr1[2] = "lisi";
//建立乙個陣列並賦值
var arr2 = ["zhangsan", "lisi"];
var arr3 = new array("zhangsan", "lisi");
要說明的是,所有情況下陣列都是會變的,也就是說即使指定了長度,仍然可以將元素儲存在規定長度以外的。
2.2陣列的元素的訪問
var testgetarrvalue=arrayobj[1]; //獲取陣列的元素值
arrayobj[1]= "這是新值"; //
給陣列元素賦予新的值
2.3陣列元素的新增
arrayobj. push([item1 [item2 [. . . [itemn ]]]]);//將乙個或多個新元素新增到陣列結尾,並返回陣列新長度
arrayobj.unshift([item1 [item2 [. . . [itemn ]]]]);//
將乙個或多個新元素新增到陣列開始,陣列中的元素自動後移,返回陣列新長度
arrayobj.splice(insertpos,0,[item1[, item2[, . . . [,itemn]]]]);//
將乙個或多個新元素插入到陣列的指定位置,插入位置的元素自動後移,返回""。
【注】多個元素之間用逗號割開:
arr2.push("wangwu", "zhaoliu"); //["wangwu", "zhaoliu"],這樣則是將陣列作為arr2乙個元素新增
2.4陣列元素的刪除
arrayobj.pop(); //移除最後乙個元素並返回該元素值
arrayobj.shift(); //
移除最前乙個元素並返回該元素值,陣列中元素自動前移
arrayobj.splice(deletepos,deletecount); //
刪除從指定位置deletepos開始的指定數量deletecount的元素,陣列形式返回所移除的元素
2.5 陣列的擷取和合併
arrayobj.slice(start, [end]); //以陣列的形式返回陣列的一部分,注意不包括 end 對應的元素,
//如果省略 end 將複製 start 之後的所有元素,使用方式與stringobject.slice(start[,end])相似。
arrayobj.concat([item1[, item2[, . . . [,itemn]]]]); //
將多個陣列(也可以是字串,或者是陣列和字串的混合)連線為乙個陣列,返回連線好的新的陣列。
2.6 陣列的拷貝
arrayobj.slice(0); //返回陣列的拷貝陣列,注意是乙個新的陣列,不是指向
arrayobj.concat(); //
返回陣列的拷貝陣列,注意是乙個新的陣列,不是指向
2.7 陣列元素的排序
arrayobj.reverse(); //反轉元素(最前的排到最後、最後的排到最前),返回陣列位址
arrayobj.sort([sortby]); //
對陣列元素排序,返回陣列位址,預設按字元編號順序進行排序。sortby必須是函式,或者lambda表示式,如(a,b)=>a-b表示按數值大小公升序排序。
2.8 陣列元素的字串化
arrayobj.join(separator); //返回字串,這個字串將陣列的每乙個元素值連線在一起,中間用 separator 隔開。
tolocalestring 、tostring 、valueof:可以看作是join的特殊用法,不常用
arr陣列的方法
1.concat 方法用於合併兩個或多個陣列 let num1 5 let num2 6,7 let nums num1.concat num2 alert nums num1 0 push 4 alert nums 2.filter 方法建立乙個新陣列,其包含通過所提供函式實現的測試的所有元素 l...
js中如何判斷arr是Array型別
今天筆試題碰到乙個問題是js中判斷是array型別 array屬於引用型別,是不能夠用typeof來判斷的,用來判斷的方法如下 1.用instanceof來判斷 var arr 1,2,3 arr instanceof array true2.constructor屬性 每個物件都有construc...
JavaScript中的this詳解
this屬於js的底層知識,了解this之後,能夠實現一些基本的功能,但是感覺最重要的是,this是物件導向必不可少的組成部分,如果希望能夠逐漸的掌握物件導向,this必然是不可少的。檢視this指向的一句話法則 永遠指向其所在函式的所有者如果沒有所有者時,指向window。理解this的要點 關鍵...