字符串

字符串
http://book.jirengu.com/fe/前端基礎(chǔ)/Javascript/字符串.html

字符串就是零個或多個排在一起的字符,放在單引號或雙引號之中。

'abc'
"abc"

單引號字符串的內(nèi)部,可以使用雙引號。雙引號字符串的內(nèi)部,可以使用單引號。

'key="value"'
"It's a long journey"

多行與轉(zhuǎn)義

如果要在單引號字符串的內(nèi)部,使用單引號(或者在雙引號字符串的內(nèi)部,使用雙引號),
就必須在內(nèi)部的單引號(或者雙引號)前面加上反斜杠,用來轉(zhuǎn)義。

'Did she say \'Hello\'?'
// "Did she say 'Hello'?"

"Did she say \"Hello\"?"
// "Did she say "Hello"?"

換行:

vstr6 ='hello\ 
    world'
var str7 ='hello\n world'

字符串默認只能寫在一行內(nèi),分成多行將會報錯。

'a
b
c'
// SyntaxError: Unexpected token ILLEGAL

上面代碼將一個字符串分成三行,JavaScript就會報錯。

如果長字符串必須分成多行,可以在每一行的尾部使用反斜杠。

var longString = "Long \
long \
long \
string";

longString
// "Long long long string"

上面代碼表示,加了反斜杠以后,原來寫在一行的字符串,可以分成多行,效果與寫在同一行完全一樣。注意,反斜杠的后面必須是換行符,而不能有其他字符(比如空格),否則會報錯。

連接運算符(+)可以連接多個單行字符串,用來模擬多行字符串。

var longString = 'Long '
  + 'long '
  + 'long '
  + 'string';
···
另外,有一種利用多行注釋,生成多行字符串的變通方法。
···
(function () { /*
line 1
line 2
line 3
*/}).toString().split('\n').slice(1,-1).join('\n')
// "line 1 line 2 line 3"
···
反斜杠在字符串內(nèi)有特殊含義,用來表示一些特殊字符,所以又稱為轉(zhuǎn)義符。

如果字符串的正常內(nèi)容之中,需要包含反斜杠,則反斜杠前需要再加一個反斜杠,用來對自身轉(zhuǎn)義。
···
"Prev \\ Next"
// "Prev \ Next"

常見的字符串方法

長度計算,連接

    var str = "hello";
    console.log( str.length );
    console.log( str[0] );
    console.log( str[str.length - 1]  );
    console.log( str.charAt(0) );
    console.log( str.charCodeAt(0) );'a'.charCodeAt(0)的碼是97

    var str2 = " world";
    var str3 = str1 + str2;
    cosnole.log( str3 );

字符串截取

    var str = "hello world";
    var sub1 = str.subStr(1, 3); // 第一個是開始位置, 第二個是長度  ell
    var sub2 = str.subString(1, 3); // 第一個是開始位置,第二個是結(jié)束位置,長度為第二個-第一個  el
    var sub3 = str.slice(1, 3); // 同上 允許負參

查找

    var str = "hello my world";
    var s1 = str.search('my');   //6 找不到為-1
    var s2 = str.replace('my', 'your'); //
    var s3 = str.match('my'); //返回匹配的數(shù)組

4. 大小寫

    var str = "Hello";
    str.toUpperCase();
    str.toLowerCase();

5. str11.split('')字符串切割

var str = 'abcdefg'
    str.split('')
    str.split('').reverse()
    str.split('').reverse().join('')
    str == str.split('').reverse().join('')
    str = 'abcdefgfedcba'
    str == str.split('').reverse().join('')

    function isReverse(str){
        return str ===str.split('').reverse().join()
    }

相關(guān)作業(yè):
1、使用數(shù)組拼接出如下字符串

var prod = {
    name: '女裝',
    styles: ['短款', '冬季', '春裝']
};
function getTpl(data){
    var getData =
    '<dl class="product">'+'\n'
    +'\t'+'<dt>'+data.name+'</dt>'+'\n'
    +'\t'+'<dd>'+data.styles[0]+'</dd>'+'\n'
    +'\t'+'<dd>'+data.styles[1]+'</dd>'+'\n'
    +'\t'+'<dd>'+data.styles[2]+'</dd>'+'\n'
    +'</dl>';
        return getData;
}
var result = getTpl(prod);  //result為下面的字符串
console.log(result);
<dl class="product">
    <dt>女裝</dt>
    <dd>短款</dd>
    <dd>冬季</dd>
    <dd>春裝</dd>
</dl>

2、寫一個函數(shù),判斷一個字符串是回文字符串,如 abcdcba是回文字符串, abcdcbb不是

var a = 'abcdcba';
var b = 'abcdcbb';
function isReverse(str){
    return ===str.split('').reverse().join('');
}
console.log (isReverse(a));
console.log (isReverse(b));

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 字符串就是零個或多個排在一起的字符,放在單引號或雙引號之中。 需要注意的是,當引號有嵌套時: 單引號字符串的內(nèi)部,...
    Sketch閱讀 215評論 0 0
  • 字符串 字符串就是零個或多個排在一起的字符,放在單引號或雙引號之中。 單引號字符串的內(nèi)部,可以使用雙引號。雙引號字...
    卓小生閱讀 437評論 0 0
  • 字符串就是零個或多個排在一起的字符,放在單引號或雙引號之中。 單引號字符串的內(nèi)部,可以使用雙引號。雙引號字符串的內(nèi)...
    風隨風去閱讀 286評論 0 0
  • 字符的 Unicode 表示法 codePointAt() String.fromCodePoint() 字符串的...
    卞卞村長L閱讀 840評論 0 0
  • 字符串 字符串就是零個或多個排在一起的字符,放在單引號或雙引號之中。 'abc'"abc"單引號字符串的內(nèi)部,可以...
    南山碼農(nóng)閱讀 219評論 0 0

友情鏈接更多精彩內(nèi)容