08------JS字符串深入

字符串

  • 有兩種形式的字符串:基本類型,對象類型
  • 對象類型的字符串封裝了一些屬性以及方法,而基本類型則沒有
  • 可以直接用基本類型字符串調用字符串對象封裝的屬性及方法,無須手動轉換
var str = 'hello world'
console.log(typeof str) //string
var str1 = new String('hello world')
console.log(typeof str1) // object

字符串的長度

  • 字符串中的length是隻讀屬性,不可更改
  • 按照各國標註字符來計算長度

字符串的常用方法

1.charAt(index)

  • 功能:獲取對應下標處的字符
  • 參數:下標
  • 返回值:獲取到的字符,沒有對應下標則返回空字符串
var str = 'I am a student'
console.log(str.charAt(3)) // m
console.log(str.charAt(30)) // ""
console.log(typeof str.charAt(30)) // string

2.charCodeAt(index)

  • 功能:獲取對應下標處的字符編碼
  • 參數:下標
  • 返回值:獲取到的字符編碼(0-65535),沒有對應下標則返回NaN
var str = 'I am a student'
console.log(str.charAt(3)) // m
console.log(str.charAt(30)) // ""
console.log(typeof str.charAt(30)) // string

3.String.fromCharCode(ASCII碼)

  • 功能:獲取ASCII碼對應的字符
  • 參數:ASCII碼
  • 返回值:對應的字符
var charStr = String.fromCharCode(117)
console.log(charStr)

4.toLowerCase(),toUpperCase()

  • 功能:字符串的大小寫轉換
  • 返回值:轉換後的字符串
  • 注意:不會改變原字符串
var str = 'Hello'
console.log(str.toUpperCase()) // HELLO
console.log(str) // Hello
console.log(str.toLowerCase())  // hello
console.log(str) // Hello

5.==, ===判斷相等

  • ==:只比較值相等,不對類型進行比較
  • ===:要求值和類型均相等
console.log(1 == "1") //true
console.log(1 == true) // true
console.log(1 === "1") //false
console.log(1 === true) //false

6.localeCompare()

  • 字符串比較大小

  • 規則:兩個字符串從下標爲0的字符開始比較,如果誰的ASCII碼值大,那麼誰大,如果相等繼續比較後面的字符,當兩個字符不相等時停止比較,此時誰的ASCII碼值大誰就大

  • 返回值:

    • 1:前面字符串大於後面的字符串
    • -1:前面的字符串小於後面的字符串
    • 0:前面的字符串等於後面的字符串
var str1 = "abcd"
var str2 = "abdd"
var result = str1.localeCompare(srt2)
if(result > 0) {
	console.log(str1 + ">" + str2)
} else if (result < 0) {
	console.log(str1 + "<" + str2) // abcd < abdd
} else {
	console.log(str1 + "==" + str2)
}

7.indexOf(searchValue,fromIndex)

  • 功能:從左至右查找第一次出現的字符串

  • 參數:

    • searchValue:要查找的字符串
    • fromIndex:可選參數:表示從指定下標開始往後查找
  • 返回值:子串第一次出現的下標,如果沒有子字符串,則返回-1

8.lastIndexOf(searchValue,fromIndex)

  • 功能:從右至左查找第一次出現的字符串

  • 參數:

    • searchValue:要查找的字符串
    • fromIndex:可選參數:表示從指定下標開始往後查找
  • 返回值:子串第一次出現的下標,如果沒有子字符串,則返回-1

9.replace(oldStr, newStr)

  • 字符串替換
  • 默認只能替換第一次出現的oldStr
  • 通過正則表達式可以實現全部替換
var str = "Tom is a good student! Tom is a nice man"
var newStr = str.replace("Tom", "Jerry")
console.log(str) //Tom is a good student! Tom is a nice man
console.log(newStr) //Jerry is a good student! Tom is a nice man

newStr = str.replace(/Tom/g, "Jerry")
console.log(str) //Tom is a good student! Tom is a nice man
console.log(newStr) //Jerry is a good student! Jerry is a nice man

10.substring(start,stop)

  • 定義:substring()方法用於提取字符串中介於兩個指定下標之間的字符

  • 參數:

    • start:必需。一個非負的整數,要提取的子串的第一個字符在原字符中的位置
    • end:可選。一個非負的整數,要提取的子串的最後一個字符在原字符中的位置+1,如果省略該參數,那麼返回的子串會一直截取到原字符串的末尾
  • 返回值:一個新的字符串,該字符串值包含stringObject的一個子字符串,其內容時從start處到stop-1處所有字符,其長度等於stop-start.

  • 注意:

    • substring()方法返回的子串包括start處的字符,但不包括stop處的字符
    • 如果參數start和stop相等,那麼該方法返回的就是一個空串(即長度爲0的字符串)
    • 如果start比stop大,那麼該方法在提取子串之前會先交換這兩個參數
    • 不會改變原字符串
var str = "Tom is a good student! Tom is a nice man"
console.log(str.substring(0, 3)) //Tom
console.log(str.substring(3, 0)) //Tom
console.log(str.substring(3)) //is a good student! Tom is a nice man
console.log(str.substring(1, 1)) //""

11.substr(start,length)

  • 定義:substr()方法用於在字符串中抽取從start下標開始的指定數目的字符。

  • 參數:

    • start:必需。要抽取的子串的起始下標。必須是數值。如果是負數,那麼該參數聲明從字符串的尾部開始算起的位置。也就是說,-1指字符串中最後一個字符,-2值倒數第二個字符,類推。
    • length:可選。子串中的字符數,必須是數值,如果省略了該參數,那麼返回從原字符串的開始位置到結尾的子串。
  • 返回值:一個新的字符串

  • 注意:不會改變原字符串

var str = "Tom is a good student! Tom is a nice man!"
console.log(str.substr(9, 4)) //good
console.log(str.substr(-9, 4)) //nice
console.log(str.substr(3)) //is a good student! Tom is a nice man

12.stringObject.split(separator,howmany)

  • 定義:split()方法用於把一個字符串分割成字符串數組

  • 參數:

    • separator:必需。字符串或者正則表達式,從該參數指定的地方分割stringObject
    • howmany:可選。該參數可指定返回的數組的最大長度。如果設置了該參數,返回的子串不會多於這個參數指定的數組。如果沒有設置該參數,整個字符串都會被分割,不考慮它的長度。
  • 返回值:一個字符串數組

  • 注意:如果把空字符串(“”)用作separator,那麼stringObject中的每個字符之間都會被分割

var str = "I am a student"
console.log(str.split(" ")) // ["I","am","a","student"]
console.log(str.split(" ", 2)) // ["I","am"]

13.concat()

  • 用於將一個或多個字符串拼接起來

14.trim()

  • 這個方法創建一個字符串的副本,刪除前綴以及後綴的所有空格,然後返回結果
var str = "   hello   "
console.log(str.trim()) //"hello"
console.log(str) //"   hello   "

math對象

1.四捨五入

  • Math.round(4.5)

2.向上取整

  • Math.ceil(3.1)

3.向下取整

  • Math.floor(3.9)

4.取最大值

  • Math.max(3,4,6,76,8,89,32)

5.取最小值

  • Math.min(3,4,6,76,8,89,32)

6.取絕對值

  • Math.abs(-10)

7.x的y次方

  • Math.pow(x,y)

8.開平方

  • Math.sqrt(25)

9.生成一個0-1之間的隨機數

  • Math.random()
// 四捨五入
console.log(Math.round(4.5)) // 5
// 向上取整
console.log(Math.ceil(3.1)) // 4
// 向下取整
console.log(Math.floor(3.9)) // 3
// 取最大值
console.log(Math.max(3,4,6,76,8,89,32)) //89
// 取最小值
console.log(Math.min(3,4,6,76,8,89,32)) // 3
// 取絕對值
console.log(Math.abs(-10)) // 10
// x的y次方 
console.log(Math.pow(2,3)) // 8
// 開平方
console.log(Math.sqrt(25)) // 5
// 生成一個0-1之間的隨機數
console.log(Math.random()) //0-1之間的隨機數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章