1. 程式人生 > >JavaScript String 物件方法總結

JavaScript String 物件方法總結

String物件用於處理文字

一、String物件常用方法

1、concat():連線字串,注:使用‘+ 運算子來進行字串連線更簡便 2、charAt(index):返回指定位置的字元,如果引數 index 不在 0 與 string.length 之間,該方法將返回一個空字串 3、str.indexOf(searchString,startIndex):返回子字串第一次出現的位置,從startIndex開始查詢,找不到時返回-1 4:str.lastIndexOf(searchString,startIndex): 從由往左找子字串,找不到時返回-1** 5、擷取字串的三種方法

  substring(start,end)  :提取字串中介於兩個指定下標之間的字元
  substr(start,length):
  slice(start,end) :提取字串的某個部分,並以新的字串返回被提取的部分
  注:String 物件的方法 slice()、substring() 和 substr() (不建議使用)都可返回字串的指定部分。slice() 比 substring() 
  要靈活一些,因為它允許使用負數作為引數。slice() 與 substr() 有所不同,因為它用兩個字元的位置來指定子串,而 substr()
  則用字元位置和長度來指定子串

6、str.split(separator,number):字串分隔成陣列,第二個引數表示返回的字串陣列的最大長度(可選) 7 、str.replace(rgExp/substr,replaceText) : 執行的是查詢並替換的操作, 返回替換後的字串,如果 regexp 具有全域性標誌 g,那麼 replace() 方法將替換所有匹配的子串。否則,它只替換第一個匹配子串

   var str="Visit Microsoft!"
   console.log(str.replace(/Microsoft/, "W3School"))  //  Visit W3School!
   //全域性替換
   var
str = "welcome to Microseft" str=str + "We are proud to announce that Microsoft has " str=str + "one of the largest Web Developers sites in the world." console.log(str.replace(/ Microsoft/g,"W3School")) //Welcome to W3School! We are proud to announce that W3School //has one of the largest Web Developers sites in the world.
待解決問題:如何使用replace把單詞的首字母轉換成大寫? 把單詞的首字母轉換成大寫的幾種方式?

8、str.match(rgExp): 正則匹配,在字串內檢索指定的值,或找到一個或多個正則表示式,該方法類似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字串的位置 9、search():方法的用法等同於match,但是返回值為匹配的第一個位置。如果沒有找到匹配,則返回-1 9、trim():去除字串收尾兩端的空格,返回一個新的字串,不改變原字串 10、toLowerCase(),toUpperCase():toLowerCase方法用於將一個字串全部轉為小寫,toUpperCase則是全部轉為大寫。它們都返回一個新字串,不改變原字串。

ES6新增常見擴充套件

1、為字串添加了遍歷器介面,使得字串可以被for…of迴圈遍歷。 2、**includes(), startsWith(), endsWith() **

1:includes():返回布林值,表示是否找到了引數字串
2:startsWith():返回布林值,表示引數字串是否在原字串的頭部
3:endsWith():返回布林值,表示引數字串是否在原字串的尾部。
注:以上三個方法均支援第二個引數,表示開始搜尋的位置,includes(), startsWith()表示從第n個位置直到結束,endsWith()表示前n個字元
var str = "hello world!"
    console.log(str.includes("w",6)); // true
    console.log(str.includes("w",7)); // false
    console.log(str.startsWith("h")); //true
    console.log(str.endsWith("!")) // true

3、repeat(n):返回一個新字串,將原字串重複n次,如果n是小數,會被取整,n是負數或者Infinity,會報錯 4、padStart(),padEnd():ES2017 引入了字串補全長度的功能。如果某個字串不夠指定長度,會在頭部或尾部補全。padStart()用於頭部補全,padEnd()用於尾部補全

'x'.padStart(5, 'ab') // 'ababx'
'x'.padStart(4, 'ab') // 'abax'

'x'.padEnd(5, 'ab') // 'xabab'
'x'.padEnd(4, 'ab') // 'xaba'

5、matchAll() 6、**模板字串 **:用反引號(`)標識。它可以當作普通字串使用,也可以用來定義多行字串,或者在字串中嵌入變數

	// 普通字串
	`In JavaScript '\n' is a line-feed.`
	
	// 多行字串
	`In \`JavaScript\` this is
	 not legal.`
	
	console.log(`string text line 1
	string text line 2`);
	
	// 字串中嵌入變數
	let name = "Bob", time = "today";
	`Hello ${name}, how are you ${time}?`

如果在模板字串中需要使用反引號,則前面要用反斜槓轉義 模板編譯(例項)

let template = `
	<ul>
	  <% for(let i=0; i < data.supplies.length; i++) { %>
	    <li><%= data.supplies[i] %></li>
	  <% } %>
	</ul>
	`;
	

上面程式碼在模板字串之中,放置了一個常規模板。該模板使用<%…%>放置 JavaScript 程式碼,使用<%= … %>輸出 JavaScript 表示式