js的數(shù)據(jù)類型
1.Number
2.String
3.Boolean
4.Symbol (es2015新增)
5.Object (Function,Arr,Date,RegExp)
6.Null
7.Undefined
另外則還有一些內(nèi)置的Err對象。
Arr
創(chuàng)建數(shù)組方法:
let a = new Array(size); //size代表數(shù)組長度
let b = new Array(x,y,z);
let c = [1,2,3]
1.對象屬性
①length 設置或返回數(shù)組中元素的數(shù)目。
let kolento = [1,2,3,4,5]
console.log(kolento.length) //返回5
②prototype 使您有能力向對象添加屬性和方法。
function employee(name,job,born){
this.name=name;
this.job=job;
this.born=born;
}
var bill=new employee("Bill Gates","Engineer",1985);
employee.prototype.salary=null;
bill.salary=20000;
document.write(bill.salary); // 20000
2.對象方法
①合并兩個數(shù)組 - concat() 連接兩個或更多的數(shù)組,并返回結果。
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
var arr2 = new Array(3)
arr2[0] = "James"
arr2[1] = "Adrew"
arr2[2] = "Martin"
document.write(arr.concat(arr2))
//返回 George,John,Thomas,James,Adrew,Martin
②用數(shù)組的元素組成字符串 - join()
var arr = new Array(3);
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr.join());// George,John,Thomas 不添加分割符號,默認逗號
document.write("<br />");
document.write(arr.join("."));// George.John.Thomas
③pop() 刪除并返回數(shù)組的最后一個元素
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr) //George,John,Thomas
document.write(arr.pop()) //Thomas
document.write(arr) //George,John
④push() 方法可向數(shù)組的末尾添加一個或多個元素,并返回新的長度。
arrayObject.push(newelement1,newelement2,....,newelementX)
可以添加多個元素
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr.push("James","kolento") ) // 5返回長度
document.write(arr) //返回 George,John,Thomas,James,kolento
⑤reverse() 方法用于顛倒數(shù)組中元素的順序。
let a = [1,2,3,4,5];
document.write(a.reverse()); //5,4,3,2,1
⑥shift() 方法用于把數(shù)組的第一個元素從其中刪除,并返回第一個元素的值。
說明
如果數(shù)組是空的,那么 shift() 方法將不進行任何操作,返回 undefined 值。請注意,該方法不創(chuàng)建新數(shù)組,而是直接修改原有的 arrayObject。
let a = [1,2,3]
document.write(a.shift()); // 1 返回被刪除的元素
unshift() 方法可向數(shù)組的開頭添加一個或更多元素,并返回新的長度。
arrayObject.unshift(newelement1,newelement2,....,newelementX)
至少添加一個元素,可添加n個
⑦slice() 方法可從已有的數(shù)組中返回選定的元素。
arrayObject.slice(start,end)
start:必需。規(guī)定從何處開始選取。如果是負數(shù),那么它規(guī)定從數(shù)組尾部開始算起的位置。也就是說,-1 指最后一個元素,-2 指倒數(shù)第二個元素,以此類推。
end:可選。規(guī)定從何處結束選取。該參數(shù)是數(shù)組片斷結束處的數(shù)組下標。如果沒有指定該參數(shù),那么切分的數(shù)組包含從 start 到數(shù)組結束的所有元素。如果這個參數(shù)是負數(shù),那么它規(guī)定的是從數(shù)組尾部開始算起的元素。
let arr = [1,2,3,4,5]
document.write(arr.slice(1,3)); //[2,3]
document.write(arr.slice(3)); //[4,5]
⑧sort() 方法用于對數(shù)組的元素進行排序。
arrayObject.sort(sortby)
sortby 可選。規(guī)定排序順序。必須是函數(shù)。
返回值
對數(shù)組的引用。請注意,數(shù)組在原數(shù)組上進行排序,不生成副本。
如果調(diào)用該方法時沒有使用參數(shù),將按字母順序對數(shù)組中的元素進行排序,說得更精確點,是按照字符編碼的順序進行排序。要實現(xiàn)這一點,首先應把數(shù)組的元素都轉換成字符串(如有必要),以便進行比較。
說明
如果想按照其他標準進行排序,就需要提供比較函數(shù),該函數(shù)要比較兩個值,然后返回一個用于說明這兩個值的相對順序的數(shù)字。比較函數(shù)應該具有兩個參數(shù) a 和 b,其返回值如下:
若 a 小于 b,在排序后的數(shù)組中 a 應該出現(xiàn)在 b 之前,則返回一個小于 0 的值。
若 a 等于 b,則返回 0。
若 a 大于 b,則返回一個大于 0 的值。
function sortone(a, b){
return b-a
}
function sorttwo(a, b){
return a-b
}
var arr = [1,2,3,4,5]
document.write(arr.sort(sortone)) //5,4,3,2,1
document.write(arr.sort(sorttwo)) //1,2,3,4,5
⑨splice() 方法向/從數(shù)組中添加/刪除項目,然后返回被刪除的項目。
arrayObject.splice(index,howmany,item1,.....,itemX)
index:必需。整數(shù),規(guī)定添加/刪除項目的位置,使用負數(shù)可從數(shù)組結尾處規(guī)定位置。
howmany:必需。要刪除的項目數(shù)量。如果設置為 0,則不會刪除項目。
item1, ..., itemX:可選。向數(shù)組添加的新項目。
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"
arr.splice(2,3,"William")
document.write(arr) //George,John,William,Martin
⑩toString() / toLocaleString()方法
可把數(shù)組轉換為字符串,并返回結果。區(qū)別在于數(shù)字與日期轉換后的格式上
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr.toString()) //George,John,Thomas 逗號連接