多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > web前端 > jscript > JS教程:String對(duì)象及其常用屬性以及方法

JS教程:String對(duì)象及其常用屬性以及方法

來源:程序員人生   發(fā)布時(shí)間:2013-11-15 20:53:32 閱讀次數(shù):2882次

目的很簡(jiǎn)單,主要回顧下javascript里面String常用的一些屬性以及方法,雖然經(jīng)常使用,但其實(shí)一些細(xì)節(jié)沒有注意到,總是等到用到的時(shí)候再去查有點(diǎn)浪費(fèi)時(shí)間,因此總結(jié)了下加深印象

一、字符串的幾種聲明方式

var str = 'hello world !';
var str = String('hello world !');
var str = new String('hello world !');
var str = new Object('hello world !');
二、常用String屬性和方法

stringObj.length

作用:返回字符串的字符總數(shù)

'abc'.length; //輸出:3


stringObj.indexOf(searValue [, fromIndex])

作用:返回searchValue在stringObj中首次出現(xiàn)的位置,默認(rèn)從位置0開始搜索,除非指了開始搜索的位置 fromIndex

注意:fromIndex可選;如果沒有找到searchValue,則返回-1

'abc'.indexOf('c'); //輸出 2
'abc'.indexOf('d'); //輸出 -1
'abc abc'.indexOf('c', 3); //輸出 6

stringObj.lastIndexOf(searchValue[, fromIndex)

作用:返回searchValue在stringObj中最后一次出現(xiàn)的問題,默認(rèn)從最后一個(gè)字符開始搜索。當(dāng)指定了fromIndex時(shí),則從fromIndex位置處從后往前搜索

注意:fromIndex可選;如果沒有找到searchValue,則返回-1

'abc abc'.lastIndexOf('c'); //輸出 6
'abc abc'.lastIndexOf('d'); //輸出 -1
'abc abc'.lastIndexOf('c', 5); //輸出 2


stringObj.charAt(index)

作用:返回stringObj指定位置(index)處的字符,index的取值為 0<index<length

注意:若index>stringObj.length或index<0,則返回空字符串""

'abc'.charAt(1); //輸出 b
'abc'.charAt(10); //輸出 ""

stringObj.toUpperCase()

作用:將stringObj中的小寫字母全部轉(zhuǎn)成大寫字母

'abC'.toUpperCase(); //輸出 ABC

stringObj.toLowerCase()

作用:將stringObj中的大寫字母全部轉(zhuǎn)成小寫字母

'ABc'.toLowerCase(); //輸出 abc

stringObj.concat(string1, string2, ... stringN)

作用:連接兩個(gè)或多個(gè)字符串,首先將參數(shù)傳入的stringX轉(zhuǎn)成字符串,然后依次連接到stringObj的后面

注意:concat方法不會(huì)改變stringObj自身

var str = 'abc';
var tmp = str.concat('def'); abcdef
console.log(tmp);
console.log(str); //輸出 abc

stringObj.substring(start[, end])

作用:截取stringObj從start開始,至end為止之前的所有字符,即包括start處的字符,但不包含end處的字符

注意:end為可選參數(shù),如不指定,則截取從start開始到stringObj末尾的所有字符;start、end均為非負(fù)整數(shù)

'abcdef'.substring(1, 3); //輸出 bc
'abcdef'.substring(1); //輸出 bcdef
'abcdef'.substring(1, 1); //輸出 ""

stringObj.slice(start[, end])

作用:截取stringObj從start開始,到end為止之前的所有字符;即包括start處的字符,但不包括end處的字符。start與end均可為負(fù)值,當(dāng)為負(fù)值時(shí),表示從最后一個(gè)字符算起的第n個(gè)字符,比如-1表示最后一個(gè)字符,-2表示倒數(shù)第二個(gè)字符。

注意:end為可選參數(shù),如不指定,則截取從start開始到stringObj末尾的所有字符

'abcdef'.slice(1,3); //輸出 bc
'abcdef'.slice(1); //輸出 bcdef
'abcdef'.slice(-3); //輸出 def
'abcdef'.slice(-3, 5); //輸出 de

stringObj.split(separator[, howmany])

作用:將separtor為為分隔,將stringObj分割成一個(gè)字符串?dāng)?shù)組。separator可以是字符串或者正則表達(dá)式,若為字符串,則以separator為分割符;弱separator為正則表達(dá)式,則以符合separator指定模式的字符串作為分隔符。

注意:haowmany為可選參數(shù),表示分割獲得的字符串?dāng)?shù)組的最大長(zhǎng)度,如超過howmany指定的長(zhǎng)度,則對(duì)結(jié)果進(jìn)行截?cái)?;如果howmany為正則表達(dá)式,且包含子表達(dá)式,則獲得的數(shù)組里面包含子表達(dá)式匹配的字符串

'hello world'.split(' '); //輸出 ['hello', 'world']
'abcdef'.split(''); //輸出 ['a', 'b', 'c', 'd', 'e', 'f']
'aa bb cc dd ee'.split(' ', 3); //輸出 ['aa'
'aaa bbb ccc dd'.split(/s+/); //輸出 ['aaa', 'bbb', 'dd']
'aaa_b_ccc'.split('_b_'); //輸出 ['aaa', 'ccc']
'aaa_b_ccc'.split('_(b)_'); //輸出 ["aaa", "b", "ccc"]

stringObj.match(regexp)

作用:在字符串內(nèi)檢索指定的正則表達(dá)式的匹配結(jié)果,該結(jié)果與regexp是否有指定全局標(biāo)志g有關(guān)

1)沒有g(shù):只是執(zhí)行一次搜索;如果沒有匹配的字符串,則返回null;如果有匹配的字符串,則返回一個(gè)數(shù)組,數(shù)組的第1個(gè)元素存放的是regexp匹配的結(jié)果,數(shù)組內(nèi)剩余的其他元素,分別存放regexp子表達(dá)式匹配的結(jié)果;除此之外,返回結(jié)果還有兩個(gè)屬性,分別是input以及index;input屬性存放的是原始字符串stringObj,index是匹配的起始字符在stringObj中的位置

2)有g(shù):進(jìn)行全局搜索,并返回所有匹配的子字符串(不包含子表達(dá)式匹配結(jié)果);如果沒有匹配的字符串,返回null;如有匹配的字符串,則返回的數(shù)組里存放的所有匹配的子字符串;需要注意的時(shí)候,此時(shí)沒有index、input屬性

//無全局標(biāo)志g+無子表達(dá)式
var result = 'abc123'.match(/12/); //輸出 ['12']
console.log(result.index); //輸出 3
console.log(result.input); //輸出 'abc123'

//無全局標(biāo)志g+無匹配結(jié)果
result = 'abc123'.match(/def/); //輸出 null

//無全局標(biāo)志g+有子表達(dá)式
result = 'abc123'.match(/bc(123)/); //輸出 ['bc123', '123']

//有全局標(biāo)志+無子表達(dá)式
result = 'abc123abc123'.match(/ab/g); //輸出 ['ab', 'ab']

//無全局標(biāo)志+有子表達(dá)式
result = 'abc123abc123'.match(/abc(123)/); //輸出 ['abc123', 'abc123']

stringObj.search(regexp)

作用:檢索與正則表達(dá)式regexp匹配的子字符串。如果沒有匹配結(jié)果,則返回-1;如果有匹配結(jié)果,則返回第一個(gè)匹配結(jié)果的起始位置

'abcdef'.search(/d/); //輸出 -1
'123-456-789'.search(/-d/); //輸出 3
stringObj.match(regexp, replacement)

作用:將stringObj中的一部分字符串替換為另一部分字符串;如果regexp為字符串,則直接替換stringObj中等于regexp的第一個(gè)子字符串;如果regexp為正則表達(dá)式,則需要看是否有全局標(biāo)志g。如果無g,則替換第一個(gè)子串;如果有g(shù),則替換所有子串;

注意:注意事項(xiàng)比較多,這里只舉幾個(gè)簡(jiǎn)單例子,更多參考資料請(qǐng)參見http://www.w3school.com.cn/js/jsref_replace.asp

'Hello World'.replace('World', 'Casper'); //返回 'Hello Casper'

'123abc123'.replace(/d+/, 'D'); //返回 'Dabc123'
'123abc123'.replace(/d+/g, 'D'); //返回 'DabcD'

'abc123'.replace(/bc(12)/, function(){ //輸出 'aBC123'

console.log(arguments[0]); //輸出 'bc12'(匹配的子字符串)
console.log(arguments[1]); //輸出 '12'(匹配的第一個(gè)子表達(dá)式)
console.log(arguments[2]); //輸出 1(第一個(gè)匹配起始的位置)
console.log(arguments[3]); //輸出 'abc123'(原始字符串)

return arguments[0].toUpperCase();
});

三、寫在后面
一些比較不常用的方法,比如stringObj.charCodeAt,或者標(biāo)準(zhǔn)里面沒有明確說明實(shí)現(xiàn)的方法,如stringObj.substr,這里沒有進(jìn)行說明,如欲了解,可點(diǎn)擊下面的鏈接查看

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 三级视频在线看 | 黄色淫片| 最新亚洲一区二区三区四区 | 久久性妇女精品免费 | 欧美一级片手机在线观看 | 国产最新精品视频 | 一区二区国产在线播放 | 国产精品一区二区三区免费视频 | 欧美天堂久久 | 亚洲日韩aⅴ在线视频 | 爱爱小视频免费体验区在线观看 | 日韩成人国产精品视频 | 午夜免费福利 | 日本中文字幕在线看 | 日本96在线精品视频免费观看 | 亚洲成a人片在线观看尤物 亚洲成a人片在线观看中文!!! | 欧美另类精品一区二区三区 | 国产一区二区三区四区五区 | 在线免费观看a级片 | 日韩欧美亚洲综合一区二区 | 日本一级黄色 | 在线 | 一区二区三区四区 | 满18看的毛片 | 国产高清国产精品国产k | 精品久久久久亚洲 | 精品国产v无码大片在线观看 | 亚洲图区欧美 | 中文字幕在线观看免费视频 | 欧美一级视频精品观看 | 亚洲成在线 | 国产欧美在线观看视频 | 羞羞动漫网址 | 国产美女精品三级在线观看 | 另类毛片 | 亚洲人成在线免费观看 | 图片区偷拍区小说区 | 欧美在线视频观看 | 午夜性色福利视频 | 久久精品伊人 | 国产啊v在线观看 | 欧美在线精品一区二区三区 |