String

String可用字面量或new方法創(chuàng)建抚芦,String字面量可使用任何String對象的方法倍谜,因?yàn)閖s自動將String字面量轉(zhuǎn)換為臨時的String Object迈螟,調(diào)用String方法,然后移除String Object尔崔。
盡量使用String字面量答毫,String對象會有一些異常的行為。例:【為什么季春?】
var s1 = '2 + 2';
var s2 = new String('2 + 2');
eval(s1); //返回?cái)?shù)值:4
eval(s2); //返回string: '2 + 2'
String是不可變類數(shù)組對象洗搂,不能通過索引更改單獨(dú)的字符,例:
var str = 'hello';
str[0] = 'A';
console(str[0]); //打釉嘏:'h'
String有3種返回字符串指定部分的方法:
1. substring(start, end): start,end均為非負(fù)整數(shù)耘拇;若任一參數(shù)<0或NaN,視為0宇攻;若start > end惫叛,則兩者交換數(shù)值;
2. substr(start, length): start可為負(fù)數(shù)逞刷,表示從尾部算起嘉涌,-1表示最后一個字符,若負(fù)數(shù)絕對值超過長度夸浅,視為0洛心;length表示子串長度;(js沒有對該方法進(jìn)行標(biāo)準(zhǔn)化题篷,不建議使用)
3. slice(start, end): start,end可為負(fù)數(shù);在Array中也有定義厅目;
String返回字符或字符編碼的方法:
1. charAt(index): 返回索引位置的字符番枚,若沒有參數(shù),默認(rèn)為0损敷;若索引位置沒有字符葫笼,則返回'';
2. charCodeAt(index): 返回索引位置的字符編碼的十進(jìn)制數(shù)值(<2^16拗馒,2個字節(jié))路星;若索引位置沒有字符,則返回NaN诱桂;
3. codePointAt(index): 返回索引位置開始的字符Unicode編碼(代理對或碼元)的十進(jìn)制數(shù)值(<0x110000洋丐,4個字節(jié));若索引位置沒有字符挥等,則返回undefined友绝;
String返回子串索引位置的方法:
1. indexOf(searchString, index): 從>=index的子串中搜索'searchString'的索引位置,index默認(rèn)值為0肝劲。若沒有找到searchString迁客,則返回-1郭宝;
2. lastIndexOf(searchString, index): 從<=index的子串中'searchString'的索引位置,index默認(rèn)值為字符串長度掷漱;
String判斷包含特定子串:
1. startsWidth(searchString, index): 開始位置為index粘室,index默認(rèn)為0;
2. endsWidth(searchString, index): index默認(rèn)為length卜范;
3. includes(searchString, index): 從>=index開始搜索衔统,默認(rèn)為0;
String拼接方法:
concat(...args),args為一個list先朦,js將args每個元素用toString()轉(zhuǎn)換為字符串缰冤,即NaN\null\undefined均可拼接;
String分割為數(shù)組:
split(sep, limit),sep若為空字符串'',則返回單獨(dú)字符數(shù)組喳魏,注意若包含復(fù)雜字符(代理對)棉浸,復(fù)雜字符會分割為兩個碼元;若this對象為空字符串'',則返回結(jié)果依賴于sep是否能匹配空字符串刺彩,例如:
var x = ''.split('x'); //x=['']迷郑;長度為1,包含一個空字符串
var y = ''.split(''); //y=[]创倔;空數(shù)組嗡害,長度為0
若sep未定義,則返回包含this字符串的長度為1的數(shù)組畦攘;limit為數(shù)組最大長度霸妹,默認(rèn)為2^32-1;
String使用正則的方法:(在正則章節(jié)詳細(xì)查看)
1. match(regexp): 調(diào)用正則[@@match]方法知押,與regSymbol.match返回結(jié)果, 不含regexp不含'g'修飾符則與reg.exec(str)返回結(jié)果相同叹螟;
2. replace(searchValue, replaceValue): 調(diào)用正則的[@@replace]方法,與reg[Symbol.replace](str, replaceValue)
3. search(regexp): 調(diào)用正則的[@@search]方法
大小寫轉(zhuǎn)換:toLowerCase(),toUpperCase()台盯;
生成重復(fù)字符串:ES2015新增內(nèi)容罢绽,repeat(cnt),cnt為重復(fù)次數(shù),cnt>0,cnt!=+無窮静盅,cnt為浮點(diǎn)良价,向下取整floor();repeat()是個泛函蒿叠;
減去字符串兩端重復(fù)空格方法:trim()

多行模板字面量(Multi-line template literals):使用`符號替代引號明垢;
允許換行,允許以${expression}植入表達(dá)式栈虚,例:
var x = 1, y = 2;
var z = `x + y = ${x+y}` \\z='x + y = 3'
tag方法:允許將模板字面量解析作為函數(shù)參數(shù)解析 【怎么用袖外?為什么用?】
原始string(raw):String.raw(template, ...sustitutions)

tips:
'+'操作符魂务,若放在變量前可轉(zhuǎn)換為數(shù)值類型(Number)曼验,待確認(rèn)泌射,例:
var x = +'0x10';

x==y運(yùn)算符:

  1. x, y為null或undefined, 返回true;
  2. x, y為String/Number/Boolean, 返回Number(x)==Number(y);
  3. x為String/Number/Symbol,y為Object鬓照,返回x==原始值(y);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末熔酷,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子豺裆,更是在濱河造成了極大的恐慌拒秘,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件臭猜,死亡現(xiàn)場離奇詭異躺酒,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)蔑歌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進(jìn)店門羹应,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人次屠,你說我怎么就攤上這事园匹。” “怎么了劫灶?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵裸违,是天一觀的道長。 經(jīng)常有香客問我本昏,道長供汛,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任涌穆,我火速辦了婚禮紊馏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蒲犬。我一直安慰自己,他們只是感情好岸啡,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布原叮。 她就那樣靜靜地躺著,像睡著了一般巡蘸。 火紅的嫁衣襯著肌膚如雪奋隶。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天悦荒,我揣著相機(jī)與錄音唯欣,去河邊找鬼。 笑死搬味,一個胖子當(dāng)著我的面吹牛境氢,可吹牛的內(nèi)容都是我干的蟀拷。 我是一名探鬼主播,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼萍聊,長吁一口氣:“原來是場噩夢啊……” “哼问芬!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起寿桨,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤此衅,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后亭螟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體挡鞍,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年预烙,在試婚紗的時候發(fā)現(xiàn)自己被綠了墨微。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡默伍,死狀恐怖欢嘿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情也糊,我是刑警寧澤炼蹦,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站狸剃,受9級特大地震影響掐隐,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜钞馁,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一虑省、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧僧凰,春花似錦探颈、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至绩鸣,卻和暖如春怀大,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背呀闻。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工化借, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人捡多。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓蓖康,卻偏偏與公主長得像铐炫,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子钓瞭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評論 2 349

推薦閱讀更多精彩內(nèi)容