09_javascript內建對象(包裝類)

包裝類(String、Number、Boolean)

在JS中爲我們提供了三個包裝類,通過這三個包裝類可以將基本數據類型的數據轉換爲對象。
	String()  可以將基本數據類型字符串轉換爲String對象
	Number()  可以將基本數據類型的數字轉換爲Number對象
	Boolean() 可以將基本數據類型的布爾值轉換爲Boolean對象
	
但是注意:我們在實際應用中不會使用基本數據類型的對象,如果使用基本數據類型的對象,
在做一些比較時可能會帶來一些不可預期的結果

通過new來創建對象

var num = new Number(3);
方法和屬性能添加給對象,不能添加給基本數據類型
當我們對一些基本數據類型的值去調用屬性和方法時,瀏覽器會臨時使用包裝類將其轉換爲對象,
然後在調用對象的屬性和方法,調用完以後,在將其轉換爲基本數據類型。

var s = 123;
s = s.toString();
s.hello = "你好";
console.log(s.hello);
// "undefined" s是基本數據類型,不能添加屬性
console.log(typeof s); // "string"

字符串的相關方法:

創建一個字符串
var str = "Hello Atguigu";

在底層字符串是以字符數組的形式保存的 ["H","e","l"]
length屬性
可以用來獲取字符串的長度

var str = "Hello Atguigu";
console.log(str.length);//13 
console.log(str[5]);//‘ ’
charAt()
可以返回字符串中指定位置的字符<br>
根據索引獲取指定的字符	

str = "中Hello Atguigu";
var result = str.charAt(6); // A
charCodeAt()
獲取指定位置字符的字符編碼(Unicode編碼)

result = str.charCodeAt(0);
String.formCharCode()
// 可以根據字符編碼去獲取字符
result = String.fromCharCode(0x2692);
concat()
可以用來連接兩個或多個字符串<br>
作用和+一樣

result = str.concat("你好","再見");
indexof()
該方法可以檢索一個字符串中是否含有指定內容;
如果字符串中含有該內容,則會返回其第一次出現的索引;
如果沒有找到指定的內容,則返回-1;

可以指定一個第二個參數,指定開始查找的位置
lastIndexOf()
該方法的用法和indexOf()一樣,
不同的是indexOf是從前往後找,而lastIndexOf是從後往前找;
也可以指定開始查找的位置

str = "hello hatguigu";
result = str.indexOf("h",1);//6
result = str.lastIndexOf("h",5);//0
slice()
可以從字符串中截取指定的內容;
不會影響原字符串,而是將截取到內容返回。

參數:
	第一個,開始位置的索引(包括開始位置);
	第二個,結束位置的索引(不包括結束位置);
	如果省略第二個參數,則會截取到後邊所有的;
	也可以傳遞一個負數作爲參數,負數的話將會從後邊計算。

str = "abcdefghijk";
result1 = str.slice(1,4);//bcd
result2 = str.slice(1,-1);//bcdefghij
console.log('result1 = '+result1)//result1 = bcd
console.log('result2 = '+result2)//result2 = bcdefghij	
substring()
可以用來截取一個字符串,可以slice()類似;

參數:
第一個:開始截取位置的索引(包括開始位置);
第二個:結束位置的索引(不包括結束位置);

不同的是這個方法不能接受負值作爲參數,如果傳遞了一個負值,則默認使用0;
而且他還自動調整參數的位置, 如果第二個參數小於第一個,則自動交換。
substr()
用來截取字符串

參數:
1.截取開始位置的索引
2.截取的長度	

str = "abcdefg";
result = str.substr(3,2);
console.log('result = '+result)//"result = de"
split()
可以將一個字符串拆分爲一個數組。

參數:
需要一個字符串作爲參數,將會根據該字符串去拆分數組

str = "abcbcdefghij";
result = str.split("d");
console.log('result = '+result)
// "result = abcbc,efghij"		
// 如果傳遞一個空串作爲參數,
// 則會將每個字符都拆分爲數組中的一個元素
str = "abcbcdefghij";
result = str.split("");
console.log('result = '+result)//"result = a,b,c,b,c,d,e,f,g,h,i,j"	console.log(Array.isArray(result));//true
console.log(result[0]);//a
toUpperCase()
將一個字符串轉換爲大寫並返回

str = "abcdefg";
result = str.toUpperCase();
console.log('result = '+result)
// "result = ABCDEFG"	
toLowerCase()
將一個字符串轉換爲小寫並返回。
發佈了61 篇原創文章 · 獲贊 0 · 訪問量 4325
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章