成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

js中字符串操作

tunny / 2877人閱讀

摘要:字符串包裝類型和字符串的不可變性包裝類型包裝類型簡(jiǎn)單數(shù)據(jù)類型對(duì)應(yīng)的復(fù)雜形勢(shì)包裝類型簡(jiǎn)單類型包裝類型自定義屬性獲取屬性值簡(jiǎn)單數(shù)據(jù)類型不可以自定義屬性簡(jiǎn)單數(shù)據(jù)類型不可以自定義屬性簡(jiǎn)單數(shù)據(jù)類型有屬性字符串的不可變性字符串一旦定義就不會(huì)被修改想要修

字符串API 包裝類型和字符串的不可變性

1.包裝類型

包裝類型:簡(jiǎn)單數(shù)據(jù)類型對(duì)應(yīng)的復(fù)雜形勢(shì)!

  //包裝類型:String/Number/Boolean;
    //簡(jiǎn)單類型:string/number/boolean/undefined/null;
    
    //1.包裝類型;
      var obj = new Object();
      obj.aaa = 111;//自定義屬性
      console.log(obj.aaa);// 111 獲取屬性值
    
      //number:簡(jiǎn)單數(shù)據(jù)類型不可以自定義屬性
      var num = 111;
      num.bbb = 222;
      console.log(num.bbb);// undefined 簡(jiǎn)單數(shù)據(jù)類型不可以自定義屬性;
    
      //簡(jiǎn)單數(shù)據(jù)類型有屬性?。。?      var str = "abc";
      console.log(str.length); // 3

2.字符串的不可變性

(字符串一旦定義就不會(huì)被修改,想要修改重新開(kāi)辟空間)

根據(jù)索引查字符 1.charAt( )
//1.字符串.charAt(索引值);    字符串中對(duì)應(yīng)索引值的字符。
//兼容性很棒;
例:
    var str = "0Aabcd我&";
    console.log(str.charAt(1));// A
    console.log(str.charAt(3));// b
    console.log(str.charAt(str.length-2)); // 我
    console.log(str.charAt(str.length-1)); // &
2.字符串[索引值]
// 用法 str[0]
字符串[索引值] // 和數(shù)組一樣;但是兼容性不好;H5新增,ie678不支持; 用法和charAt一樣
例:
    var str = "0Aabcd我&";
    console.log(str[1]); // A
    console.log(str[3]); // b
    console.log(str[str.length-2]); // 我
    console.log(str[str.length-1]); // &
3.字符串.charCodeAt(索引值)
字符串.charCodeAt(索引值); // 給索引,查對(duì)應(yīng)的Unicode編碼;
console.log(str.charCodeAt(0)); // 48
console.log(str.charCodeAt(1)); // 65
console.log(str.charCodeAt(2)); // 97
根據(jù)字符查索引 1.indexOf( )
例:
    //indexOf(); 給字符查索引(從前往后)
    var str = "abcdcbb";
    console.log(str.indexOf("a"));// 0
    console.log(str.indexOf("b"));// 1
    console.log(str.indexOf("xxx"));//查不到返回 -1
    //查多個(gè)字符
    console.log(str.indexOf("abc"));// 0 以首個(gè)單詞字符為準(zhǔn); 
    console.log(str.indexOf("ac")); // 不完整或者順序不對(duì)都是-1;
    console.log(str.indexOf("acb"));// 不完整或者順序不對(duì)都是-1;
2.lastIndexOf()
lastIndexOf();   // 給字符查索引(從后往前)
//同理indexOf;
//字符串一旦聲明,索引值就固定了,無(wú)論從前往后,還是從后往前,索引值都是固定的
var str = "abcdcbb";
console.log(str.lastIndexOf("b"));//6
字符串連接和截取 concat( )
// 拼接字符串  (拼接字符串更喜歡直接用 + )
var str1 = "123";
var str2 = "abc";
console.log(str1.concat(str2)); // 123abc

//拼接數(shù)組
var arr1 = [11,22,33];
var arr2 = [44,55,66];
console.log(arr1.concat(arr2)); // [1, 12, 33, 44, 55, 66]
slice( )
var str = "123abc";
slice() //從start位置開(kāi)始,截取到end位置,end取不到
//和數(shù)組的完全一樣: 字符串.slice(開(kāi)始索引值,結(jié)束索引值);
console.log(str3.slice(3));        //從索引值為3的元素截取到最后  abc
console.log(str3.slice(0,3));    //包左不包右 123
console.log(str3.slice(-2));    //從后面截取兩個(gè) bc
console.log(str3.slice(3,0));    s//前面一個(gè)數(shù)大,后面的數(shù)小;  返回 "";
substr( )
var str = "123abc";
substr()       //開(kāi)始索引值,截取幾個(gè);
console.log(str3.substr(3));    //從索引值為3的元素截取到最后 abc
console.log(str3.substr(2,1));    //從索引值為2的往后截取一個(gè) 3
console.log(str3.substr(-2));    //從后面截取兩個(gè) bc
//前后不一樣大沒(méi)問(wèn)題,因?yàn)榈诙€(gè)參數(shù)是截取幾個(gè)的意思;
substring( )
var str = "123abc";
substring()     //開(kāi)始索引值,結(jié)束索引值;
//和slice();同樣
console.log(str3.substring(3));        //從索引值為3的元素截取到最后  abc
console.log(str3.substring(0,3));    //包左不包右 123
//不同:
console.log(str3.substring(-2));    //全部截取 123abc
console.log(str3.substring(3,4));    //智能調(diào)換  a (截取索引為3的第四個(gè)字符)
console.log(str3.substring(3,5));    //智能調(diào)換  ab (從索引為3的開(kāi)始截取到第5個(gè)字符)
字符串大小寫(xiě)轉(zhuǎn)換
str.toLowerCase();  // 英文字符轉(zhuǎn)換成小寫(xiě);
str.toUpperCase();  // 英文字符轉(zhuǎn)換成大寫(xiě);
//上傳文件的時(shí)候用;   因?yàn)楹缶Y名,不區(qū)分大小寫(xiě);
trim( ) 去除字符串前后空白 search( ) 給字符查索引 replace( ) 替換
var str = "Today is a good day, today is a good day.";
//無(wú)法忽略大小寫(xiě),而且只能替換一個(gè)  Tomorrow is a good day, today is a good day.
console.log(str.replace("Today","Tomorrow"));    
//g: 全局替換;   i: 忽略大小寫(xiě)!   Tomorrow is a good day, Tomorrow is a good day.
console.log(str.replace(/today/ig,"Tomorrow")); 
split( ) 字符串轉(zhuǎn)化成數(shù)組
// split() 和 join() 是一對(duì)!
var str = "aaa|bbb|ccc";    //字符串會(huì)根據(jù)參數(shù)被分割成幾部分;變成一個(gè)數(shù)組;
console.log(str.split("|"));// ["aaa", "bbb", "ccc"] 按 | 進(jìn)行分割 , 參數(shù)不會(huì)出現(xiàn)在數(shù)組中;
console.log(str.split());    // ["aaa|bbb|ccc"] 不帶參數(shù),整體作為一個(gè)元素;
console.log(str.split(""));    // ["a", "a", "a", "|", "b", "b", "b", "|", "c", "c", "c"] 每一個(gè)字符都算一個(gè)元素;
字符串案例

1.判斷一個(gè)字符串中出現(xiàn)次數(shù)最多的字符,統(tǒng)計(jì)這個(gè)次數(shù)

    var str = "abcoefoxyozzopp";
//  a:1,b:1,c:1......   鍵值對(duì);    對(duì)象或者json記錄;
//    思路:遍歷字符串中的每一個(gè)元素,從json/對(duì)象中查找.
//    判斷:有的話,值自增1;沒(méi)有的話,設(shè)置該屬性,值為1;
    var json = {};//將來(lái)往里面裝屬性和值;{屬性就是字符串中的元素,值就是出現(xiàn)的次數(shù)}
    //for循環(huán)遍歷
    for(var i=0;i

2.獲取url中?后面的內(nèi)容,并轉(zhuǎn)化成對(duì)象的形式。例如:http://www.itaaaaa.com/login?...

    var str = "http://wwwaitaaaaa.com/login?name=zs&age=18&a=1&b=2";
    //思路:找到?,然后截取到最末尾;把字符串按照&分割;可以再次按照=分割,然后創(chuàng)建對(duì)象
    var index = str.lastIndexOf("?");
    console.log(index); // 28
    var str2 = str.slice(index+1);
    console.log(str2); // name=zs&age=18&a=1&b=2
    //以&符號(hào)分割轉(zhuǎn)換成數(shù)組;
    var arr = str2.split("&");
       console.log(arr); // ["name=zs", "age=18", "a=1", "b=2"]

    var obj = new Object();
    //for循環(huán)把數(shù)組中的每一個(gè)元素都遍歷出來(lái),然后前面的做屬性,后面的做值;
    for(var i=0;i           
               
                                           
                       
                 

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/90171.html

相關(guān)文章

  • JS性能優(yōu)化筆記

    摘要:四如果需要遍歷數(shù)組,應(yīng)該先緩存數(shù)組長(zhǎng)度,將數(shù)組長(zhǎng)度放入局部變量中,避免多次查詢數(shù)組長(zhǎng)度。五盡量選用局部變量而不是全局變量。所以如果這樣的表達(dá)式重復(fù)出現(xiàn),只要可能,應(yīng)該盡量少出現(xiàn)這樣的表達(dá)式,可以利用局部變量,把它放入一個(gè)臨時(shí)的地方進(jìn)行查詢。 通過(guò)網(wǎng)上查找資料了解關(guān)于性能優(yōu)化方面的內(nèi)容,現(xiàn)簡(jiǎn)單整理,僅供大家在優(yōu)化的過(guò)程中參考使用,如有什么問(wèn)題請(qǐng)及時(shí)提出,再做出相應(yīng)的補(bǔ)充修改。 一、 讓...

    baoxl 評(píng)論0 收藏0
  • JS基礎(chǔ)知識(shí)學(xué)習(xí)(一)

    摘要:基礎(chǔ)知識(shí)前端開(kāi)發(fā)常用的瀏覽器谷歌瀏覽器內(nèi)核引擎火狐瀏覽器內(nèi)核歐朋瀏覽器內(nèi)核瀏覽器內(nèi)核瀏覽器內(nèi)核作為前端開(kāi)發(fā),我們會(huì)使用編寫(xiě)代碼,編寫(xiě)代碼的時(shí)候要遵循一些規(guī)范瀏覽器開(kāi)發(fā)商開(kāi)發(fā)的瀏覽器,目的就是為了按照的規(guī)范,識(shí)別出開(kāi)發(fā)者編寫(xiě)的代碼,并且在頁(yè)面 JS基礎(chǔ)知識(shí) 前端開(kāi)發(fā)常用的瀏覽器 谷歌瀏覽器(chrome):Webkit內(nèi)核(v8引擎) 火狐瀏覽器(firefox):Gecko內(nèi)核 歐朋...

    xinhaip 評(píng)論0 收藏0
  • Node.js學(xué)習(xí)之路14——Process進(jìn)程

    摘要:在中,只支持單線程。在這種場(chǎng)合下,如果能夠使用多進(jìn)程,則可以為每個(gè)請(qǐng)求分配一個(gè)進(jìn)程,從而可以更好地使用服務(wù)器端的資源。進(jìn)程進(jìn)程對(duì)象的屬性用于運(yùn)行應(yīng)用程序的可執(zhí)行文件的絕對(duì)路徑的版本號(hào)及其各依賴的版本號(hào)當(dāng)前運(yùn)行的平臺(tái)用于讀入標(biāo)準(zhǔn)輸入流的對(duì)象。 Process 在Node.js中,只支持單線程。但是在應(yīng)用程序中,如果只使用單線程進(jìn)行操作,從接收請(qǐng)求開(kāi)始到返回響應(yīng)為止的這段時(shí)間內(nèi)可能存在很長(zhǎng)...

    darry 評(píng)論0 收藏0
  • 【讀書(shū)筆記】《高性能JavaScript》

    摘要:性能訪問(wèn)字面量和局部變量的速度是最快的,訪問(wèn)數(shù)組和對(duì)象成員相對(duì)較慢變量標(biāo)識(shí)符解析過(guò)程搜索執(zhí)行環(huán)境的作用域鏈,查找同名標(biāo)識(shí)符。建議將全局變量存儲(chǔ)到局部變量,加快讀寫(xiě)速度。優(yōu)化建議將常用的跨作用域變量存儲(chǔ)到局部變量,然后直接訪問(wèn)局部變量。 缺陷 這本書(shū)是2010年出版的,這本書(shū)談性能是有時(shí)效性的,現(xiàn)在馬上就2018年了,這幾年前端發(fā)展的速度是飛快的,書(shū)里面還有一些內(nèi)容考慮IE6、7、8的東...

    chengjianhua 評(píng)論0 收藏0
  • 前端知識(shí)點(diǎn)總結(jié)——JS基礎(chǔ)

    摘要:語(yǔ)法常量名值常量名在程序中,通常采用大寫(xiě)形式。結(jié)果為類型作用表示使用的數(shù)據(jù)不存在類型只有一個(gè)值即當(dāng)聲明的變量未賦值未初始化時(shí),該變量的默認(rèn)值就是類型用于表示不存在的對(duì)象。結(jié)果為按位或,對(duì)小數(shù)取整將任意小數(shù)與做按位或,結(jié)果則取整數(shù)部分。 前端知識(shí)點(diǎn)總結(jié)——JS基礎(chǔ) 1.javascript概述(了解) 1.什么是javascript javascript簡(jiǎn)稱為js,是一種運(yùn)行于js解釋器...

    wangbjun 評(píng)論0 收藏0
  • Node.js 的緩沖區(qū)(Buffer)究竟是什么?

    摘要:在創(chuàng)建時(shí)大小已經(jīng)被確定且是無(wú)法調(diào)整的,在內(nèi)存分配這塊是由層面提供而不是具體后面會(huì)講解。在這里不知道你是否認(rèn)為這是很簡(jiǎn)單的但是上面提到的一些關(guān)鍵詞二進(jìn)制流緩沖區(qū),這些又都是什么呢下面嘗試做一些簡(jiǎn)單的介紹。 showImg(https://segmentfault.com/img/remote/1460000019894717?w=1280&h=850); 多數(shù)人都擁有自己不了解的能力和機(jī)...

    scwang90 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<