????????let s1 = "好好學(xué)習(xí)"
? ? ? ? let s2 = 'Hello World'
? ? ? ? // length屬性,返回的是字符串的長(zhǎng)度,空格也是字符
? ? ? ? console.log(s1.length);
? ? ? ? console.log(s2.length);
? ? ? ? // charAt()方法,根據(jù)字符串中字符的索引(下標(biāo))獲取對(duì)應(yīng)的字符,注意:索引從0開(kāi)始
? ? ? ? console.log(s2.charAt(0));
? ? ? ? console.log(s2.charAt(3));
? ? ? ? // 獲取字符串的中指定索引的字符,也可以通過(guò)[索引]的方式獲取
? ? ? ? console.log(s2[0]);
? ? ? ? console.log(s2[3]);
? ? ? ? // charCodeAt()方法,用于獲取字符串中指定位置字符的Unicode編碼值
? ? ? ? console.log(s2.charCodeAt(0));
? ? ? ? console.log(s2.charCodeAt(3));
? ? ? ? /*
? ? ? ? ? ? 什么是Unicode編碼,不同國(guó)家的人,使用不同的字符描述數(shù)據(jù),這些字符計(jì)算機(jī)不認(rèn)識(shí)
? ? ? ? ? ? 計(jì)算機(jī)只認(rèn)識(shí)二進(jìn)制數(shù)字,也就是0和1,所以將全世界范圍內(nèi)使用的常用字符都定義一個(gè)對(duì)應(yīng)的十進(jìn)制數(shù)字編碼
? ? ? ? ? ? 而這個(gè)十進(jìn)制的數(shù)字編碼就是Unicode編碼,再將這些十進(jìn)制的Unicode編碼轉(zhuǎn)為二進(jìn)制編碼傳給計(jì)算機(jī)識(shí)別
? ? ? ? ? ? 比如:A -> 65 a -> 97 你 -> 20320
? ? ? ? */
? ? ? ? // concat()方法,用于拼接字符串,通常情況下,我們可以直接使用 加號(hào) 去拼接,該方法,可以同時(shí)拼接多個(gè)字符串?dāng)?shù)據(jù)
? ? ? ? let s3 = '張三'
? ? ? ? let s4 = '李四'
? ? ? ? let s5 = '王五'
? ? ? ? let s6 = s3.concat(s4)
? ? ? ? console.log(s3); ?// 張三
? ? ? ? console.log(s6); ?// 張三李四
? ? ? ? let s7 = s3.concat('蕾好啊')
? ? ? ? console.log(s3); ?// 張三
? ? ? ? console.log(s7); ?// 張三蕾好啊
? ? ? ? let s8 = s3 + s4 + s5
? ? ? ? console.log(s8); ?// 張三李四王五
? ? ? ? // fromCharCode()方法,用于將指定的Unicode編碼轉(zhuǎn)為指定字符,
? ? ? ? // 注意該方法是由String類(lèi)型來(lái)調(diào)用的,該方法,可以傳遞多個(gè)Unicode編碼
? ? ? ? console.log(String.fromCharCode(65)); ?// A
? ? ? ? console.log(String.fromCharCode(65, 66, 68)); ?// ABD
? ? ? ? console.log(String.fromCharCode(12345, 123456, 1234567)); ?// ??
? ? ? ? let pwd = 'abc123'
? ? ? ? // 加密
? ? ? ? let pwds = pwd.split('')
? ? ? ? for(let i = 0; i < pwds.length; i++){
? ? ? ? ? ? pwds[i] = pwds[i].charCodeAt(0) * 3
? ? ? ? } ? ? ?
? ? ? ? // 解密??
? ? ? ? console.log('-------------以下是字符串的核心方法-------------');
? ? ? ? // indexOf()方法,用于從字符串中返回指定字符串第一次出現(xiàn)的位置(注意:索引從0開(kāi)始,找不到返回-1)
? ? ? ? let str1 = "abc你好ccc你好ddd你好eee"
? ? ? ? console.log(str1.indexOf('你好')); ? // 3
? ? ? ? console.log(str1.indexOf('你好呀')); // -1
? ? ? ? // lastIndexOf()方法,是從后往前找,找到后,下標(biāo)是從前往后數(shù)(注意,如果找不到返回-1)
? ? ? ? console.log(str1.lastIndexOf('你好')); ? // 13
? ? ? ? console.log(str1.lastIndexOf('你好呀')); // -1
? ? ? ? // slice()方法,用于截取指定區(qū)間范圍內(nèi)的字符串,該方法需要傳兩個(gè)參數(shù),分別是起始位置和結(jié)束位置,能夠取到起始位置,取不到結(jié)束位置,注意:slice()方法的參數(shù),可以傳負(fù)數(shù),表示從后往前數(shù)索引
? ? ? ? console.log(str1.slice(3, 6)); ?// 你好c
? ? ? ? console.log(str1.slice(3)); ? ? // 你好ccc你好ddd你好eee
? ? ? ? console.log(str1.slice(-6, -3)); ?// d你好
? ? ? ? // substring()方法,用于截取指定區(qū)間范圍內(nèi)的字符串,該方法需要傳兩個(gè)參數(shù),分別是起始位置和結(jié)束位置,能夠取到起始位置,取不到結(jié)束位置,注意:substring()方法參數(shù),只能傳正數(shù),不能傳負(fù)數(shù)
? ? ? ? console.log(str1.substring(3, 6)); ?// 你好c
? ? ? ? console.log(str1.substring(3)); ? ? // 你好ccc你好ddd你好eee
? ? ? ? console.log(str1.substring(-6, -3)); ?//
? ? ? ? // substr()方法,也是用于截取字符串,它的兩參數(shù)分別是:起始位置和截取長(zhǎng)度
? ? ? ? console.log(str1.substr(3, 6)); ?// 你好ccc你
? ? ? ? console.log(str1.substr(3)); ? ? // 你好ccc你好ddd你好eee
? ? ? ? // 注意:slice,substring,substr方法,如果只傳1個(gè)參數(shù),就表示從起始位置到最后全部截取
? ? ? ? // toLowerCase()方法,用于返回字符串轉(zhuǎn)的小寫(xiě)版本,注意:不是改自身
? ? ? ? let str2 = 'AbCdEfG'
? ? ? ? console.log(str2.toLowerCase()); ?// abcdefg
? ? ? ? // toUpperCase()方法,用于返回字符串的大寫(xiě)版本,注意:不是改自身
? ? ? ? console.log(str2.toUpperCase()); ?// ABCDEFG
? ? ? ? // trim()方法,用于去除字符串兩端空格
? ? ? ? // 注意:中間的空格無(wú)法去除
? ? ? ? let str3 = ' ?Hel ?lo ?'
? ? ? ? console.log(str3.length); ?// 11
? ? ? ? console.log(str3.trim().length); ?// 7