JavaScript中的內置對象(數組、Boolean、Number、字符串)和自定義對象
JS中常用的內置對象有:數組、Boolean類、Number類、字符串。下面分別介紹各自的常用方法
JS中的數組
1.數組的聲明
①字面量聲明 直接使用[]聲明數組:
var arr=[1,2,"3",true,null,undefined];
在JS中同一數組可以存放各種數據類型。
②使用new關鍵字聲明:var arr = new Array();
參數可以有三種形式:
>>> 不傳參數,表示創建一個長度為0的空數組;
>>> 傳入一個數值,表示創建長度為length的數組。但是JS中數組的長度可以隨時動態改變;
>>> 傳入多個值,表示創建一個數組,並將這些值作為數組元素。
2.數組中元素的讀寫、增刪:
①使用[]讀取數組元素。
②數組中元素的增刪操作:
>>> 刪除數組中的元素:delet arr[1];
>>> .push():在數組的最後追加一個元素
>>> .pop():表示刪除數組的最後一個元素
>>> .shift():刪除數組的第一個元素
>>> .unshift():在數組的開頭,插入一個新元素
3.JS中數組的各種方法:
①.join("-"):傳入分隔符,表示用指定分隔符將數組連接成字符串。
如果參數設為空,默認用逗號分隔。
②.concat():連接兩個或更多數組,返回連接後的新數組,如果連接的數組是二維數組,則只能拆開一層;
[1,2].concat([3,4])-->[1,2,3,4]
[1,2].concat([3,4,[5,6]])-->[1,2,3,4,[5,6]]
③.sort():對數組進行排序。
>>> 默認情況,將按照ASCII碼進行升序排列;
>>> 參數可以直接傳入比較函數:
arr.sort(function(){
return a-b;//升序
return b-a;//降序
});
④.reverse():將原數組的元素順序翻轉。
⑤.slice(start,end):接收兩個值,截取一個子數組,並返回。
>>> 傳入一個值,表示從當前下標開始截到最後;
>>> 傳入兩個值,表示從start截到end,含start不包含end
>>> start和end可正可負。正數表示從左向右,從0開始;
負數表示從右向左,從-1開始。
⑥.indexOf():查找數組元素第一次出現的下標
.lastindexOf():查找數組元素最後一次出現的下標
⑦.forEach();接收一個回調函數,遍歷數組
[這個函數在IE8之前不能用]
.forEach(function(item,index){
console.log(item+"-------"+index);
});
⑧.map():數組映射,在回調函數中,可以有返回值。表示將返回的每一個值,賦給新數組。
[這個函數在IE8之前不能用]
var arr1=arr.map(function(item,index,arr){
return item;
});
Boolean類
Boolean類有兩種聲明方式:字面量聲明和new關鍵字聲明。
1.使用new關鍵字聲明的變量,用typeof檢測是object類型;
2.使用字面量聲明的變量,用typeof檢測是boolean類型
如果不用new關鍵字而直接作為Boolean()函數使用,則可以將各種數據類型轉換為boolean類型的變量
Number類
Number類的常用方法有:
1、.toFixed(2):將數值轉為字符串,同時四舍五入,保留指定位數的小數。
2、.toString():將數值轉為字符串
3、toLocaleString():將數值按本地格式轉為字符串,千位分隔符,每三個數為一組。
(12,345,678.5678)
4、.valueOf():將對象類型,取到基本數字值。
字符串
1、.length屬性返回字符串的長度
2、字符串中讀取每個字符:
str[0] 或者 str.charAt(0)
3、其他常用方法:
①.toLowerCase():把字符串轉化為小寫
②.toUpperCase():把字符串轉化為大寫
③.substring(index1,index2):返回index1和index2之間的字符串,包括index1對應的字符,不包括index2對應的字符
④.indexOf():查找某個字符值在字符串中首次出現的位置
⑤.lastIndexOf():在字符串中查找指定的字符或子串最後一次出現的位置
⑥.split("") :傳入指定字符,將字符串分割為多個子串,返回一個字符串類型的數組
⑦.replace(/h/g,"*"):如果第一個參數是字符串,則只能替換掉第一個字符串;如果想要替換多個,可以使用正則表達式。
JS中自定義對象的聲明
1.使用字面量聲明:
var obj={
age:14,
name:"zhangsan",
func:function(){
}
}
註意:
①屬性和屬性值之間用:分隔表示鍵值對
②多對屬性之間,用逗號分隔
③對象的鍵,可以是各種數據類型(除了數組[]和對象{})。
對象的值,可以是各種數據類型
2.使用new 關鍵字聲明
var obj1=new Object;
obj1.name="zhangsan";
obj1.func=function(){
}
3.對象屬性和方法的讀寫
①使用、調用
在對象外部,可以使用obj.age
在對象內部,可以使用obj.age或者this.age
註意:在對象中,直接使用變量名默認是使用全局的變量。如果要使用對象的屬性,那麽必須用對象名或者this調用
②使用[key]調用:obj[age] obj[1] obj["name"]
如果對象的鍵包含特殊的字符,無法使用.調用時,可以使用中括號調用。
4.obj.hasOwnProperty(keys) 檢測一個鍵是否屬於一個對象
5.delete obj.name 刪除對象的屬性
JavaScript中的內置對象(數組、Boolean、Number、字符串)和自定義對象