javascript基礎(包裝類和字串相關的方法)(二十三)

厚積薄發2017發表於2017-02-08

1.包裝類:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			
			/*
			 * 通過包裝類可以將一個基本資料型別包裝為一個物件
			 * 	- 在JS中一共提供了三個包裝類:
			 * 		String()
			 * 			- 將一個基本資料型別包裝為一個String物件
			 * 		Boolean()
			 * 			- 將一個基本資料型別包裝為一個Boolean物件
			 * 		Number()
			 * 			- 將一個基本資料型別儲存一個Number物件
			 * 	- 通過這三個包裝類,包裝過後基本資料型別都會變成物件,
			 * 		會具有物件的一切的功能
			 */
			
			var a = 10;
			
			//通過Number()將a包裝為一個物件
			a = new Number(a);
			//建立一個String物件
			var str = new String("字串");
			//建立一個Boolean物件
			var bool = new Boolean(true);
			
			a.hello = "你好";
			
			//console.log(a.hello);
			//console.log(typeof bool);
			
			/*
			 * 在開發中,不要使用包裝類來建立基本資料型別的物件
			 */
			//建立兩個物件
			var num = new Number(5);
			var num2 = new Number(5);
			
			//console.log(num);
			
			/*
			 * 當我們去使用一個基本資料型別的屬性,或是呼叫一個基本資料型別的方法時
			 * 	JS解析器會臨時將基本資料型別包裝為一個物件,然後去操作這個物件的屬性或方法
			 * 	操作完成以後將物件立即銷燬
			 */
			var b = 50;
			
			b.hello = "你好";
			
			console.log(b.hello);
			
			b.toString();
			
			//null.toString();
			
		</script>
	</head>
	<body>
	</body>
</html>

2.字串相關方法:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			
			/*
			 * 
			 * 在解析器的底層,儲存字串時,實際上是以字元陣列的形式儲存的
			 * 	所以字串的操作方法和陣列都是非常相似的
			 * 
			 */
			
			//["H","e","l","l","o"," ","A","t","g","u","i","g","u"]
			var str = "Hello Atguigu";
			
			//console.log(str.length);
			//console.log(str[5]);
			/*
			 * length可以用來獲取一個字串的長度
			 */
			
			/*
			 * charAt()
			 * 	- 可以根據索引來獲取指定位置的字元
			 * 
			 * charCodeAt()
			 * 	- 可以根據索引來獲取指定位置的字元的字元編碼
			 * 
			 * String.fromCharCode()
			 * 	- 可以根據字元編碼來獲取字元
			 */
			str = "中AaHello Atguigu";
			
			var result = str.charAt(0);
			
			result = str.charCodeAt(0);
			
			result = String.fromCharCode(0x07A1);
			
			//console.log(result);
			
			/*
			 * concat()
			 * 	- 可以用來連線兩個或多個字串
			 * 	- 作用+ 一樣
			 */
			str = "hello";
			var str2 = "world";
			
			result = str.concat(str2,"你好","天氣好","吃的好");
			
			/*
			 * indexOf()
			 * 	- 檢索指定字串在當前字串中的位置
			 * 	- 引數:
			 * 		第一個引數,要查詢的字串
			 * 		第二個引數,查詢開始的位置
			 * 
			 * 	- 返回值:
			 * 		預設會返回字串第一次出現的位置的索引
			 * 		如果沒有找到該內容,則返回-1
			 * 
			 * lastIndexOf()
			 * 	- 檢索指定字串在當前字串中的位置
			 * 	- 該方法和indexOf()一樣,不同的是indexOf()是從前往後找
			 * 		而lastIndexOf()是從後往前找
			 */
			str = "Helo Altguigu";
			
			//result = str.indexOf("a");
			//result = str.indexOf("l",3);
			result = str.lastIndexOf("l",5);
			
			/*
			 * slice()
			 * 	- 可以用來擷取一個字元中的內容
			 * 	- 引數:
			 * 		第一個引數,擷取開始位置的索引(包括開始位置)
			 * 		第二個引數,擷取結束位置的索引(不包括結束位置)
			 * 		- 可以接收一個負值作為引數,如果是負值,則從後往前數
			 * 		- 也可以省略第二個引數,如果省略則一直擷取到最後
			 */
			
			str = "Hello Atguigu";
			
			result = str.slice(0,5);
			
			result = str.slice(5);
			
			/*
			 * substring()
			 * 	- 用來擷取字串的
			 * 	- 引數:
			 * 		第一個引數,擷取開始位置的索引(包括開始位置)
			 * 		第二個引數,擷取結束位置的索引(不包括結束位置)
			 * 		- 該方法不接收負值,如果傳遞了一個負值,則預設會設定為0
			 * 		- 該方法中如果第二個引數小於第一個,則會調整引數的位置
			 * 	
			 */
			str = "Hello Atguigu";
			result = str.substring(6,0);
			
			/*
			 * substr()
			 * 	- 用來擷取字串
			 * 	- 引數:
			 * 		第一個引數,擷取開始位置的索引
			 * 			- 可以是負值,如果是負值從後往前數
			 * 		第二個引數,擷取的個數
			 */
			
			str = "Hello Atguigu";
			result = str.substr(-3,2);
			
			//console.log(result);
			
			/*
			 * split()
			 * 	- 可以將一個字串拆分為一個陣列
			 * 	- 它需要一個字串作為引數,將會根據該字串對字串進行拆分
			 * 		並且將拆分的後的值儲存到一個陣列中返回
			 */
			
			str = "孫悟空@豬八戒@沙和尚@唐僧";
			
			result = str.split("");
			
			//console.log(Array.isArray(result));
			//console.log(result);
			
			/*
			 * toLowerCase()
			 * 	- 將一個字串轉換為小寫
			 * toUpperCase()
			 * 	- 將一個字串轉換為大寫
			 */
			str = "abcdefg";
			
			result = str.toUpperCase();
			
			str = "ABCDEFG";
			
			result = str.toLowerCase();
			
			console.log(result);
			
			
		</script>
	</head>
	<body>
	</body>
</html>


相關文章