摘要:字符串包裝類型和字符串的不可變性包裝類型包裝類型簡單數(shù)據(jù)類型對應(yīng)的復(fù)雜形勢包裝類型簡單類型包裝類型自定義屬性獲取屬性值簡單數(shù)據(jù)類型不可以自定義屬性簡單數(shù)據(jù)類型不可以自定義屬性簡單數(shù)據(jù)類型有屬性字符串的不可變性字符串一旦定義就不會被修改想要修
字符串API 包裝類型和字符串的不可變性
1.包裝類型
包裝類型:簡單數(shù)據(jù)類型對應(yīng)的復(fù)雜形勢!
//包裝類型:String/Number/Boolean; //簡單類型:string/number/boolean/undefined/null; //1.包裝類型; var obj = new Object(); obj.aaa = 111;//自定義屬性 console.log(obj.aaa);// 111 獲取屬性值 //number:簡單數(shù)據(jù)類型不可以自定義屬性 var num = 111; num.bbb = 222; console.log(num.bbb);// undefined 簡單數(shù)據(jù)類型不可以自定義屬性; //簡單數(shù)據(jù)類型有屬性?。?! var str = "abc"; console.log(str.length); // 3
2.字符串的不可變性
(字符串一旦定義就不會被修改,想要修改重新開辟空間)
根據(jù)索引查字符 1.charAt( )//1.字符串.charAt(索引值); 字符串中對應(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(索引值); // 給索引,查對應(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 //查多個字符 console.log(str.indexOf("abc"));// 0 以首個單詞字符為準; console.log(str.indexOf("ac")); // 不完整或者順序不對都是-1; console.log(str.indexOf("acb"));// 不完整或者順序不對都是-1;2.lastIndexOf()
lastIndexOf(); // 給字符查索引(從后往前) //同理indexOf; //字符串一旦聲明,索引值就固定了,無論從前往后,還是從后往前,索引值都是固定的 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位置開始,截取到end位置,end取不到 //和數(shù)組的完全一樣: 字符串.slice(開始索引值,結(jié)束索引值); console.log(str3.slice(3)); //從索引值為3的元素截取到最后 abc console.log(str3.slice(0,3)); //包左不包右 123 console.log(str3.slice(-2)); //從后面截取兩個 bc console.log(str3.slice(3,0)); s//前面一個數(shù)大,后面的數(shù)小; 返回 "";substr( )
var str = "123abc"; substr() //開始索引值,截取幾個; console.log(str3.substr(3)); //從索引值為3的元素截取到最后 abc console.log(str3.substr(2,1)); //從索引值為2的往后截取一個 3 console.log(str3.substr(-2)); //從后面截取兩個 bc //前后不一樣大沒問題,因為第二個參數(shù)是截取幾個的意思;substring( )
var str = "123abc"; substring() //開始索引值,結(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的第四個字符) console.log(str3.substring(3,5)); //智能調(diào)換 ab (從索引為3的開始截取到第5個字符)字符串大小寫轉(zhuǎn)換
str.toLowerCase(); // 英文字符轉(zhuǎn)換成小寫; str.toUpperCase(); // 英文字符轉(zhuǎn)換成大寫; //上傳文件的時候用; 因為后綴名,不區(qū)分大小寫;trim( ) 去除字符串前后空白 search( ) 給字符查索引 replace( ) 替換
var str = "Today is a good day, today is a good day."; //無法忽略大小寫,而且只能替換一個 Tomorrow is a good day, today is a good day. console.log(str.replace("Today","Tomorrow")); //g: 全局替換; i: 忽略大小寫! Tomorrow is a good day, Tomorrow is a good day. console.log(str.replace(/today/ig,"Tomorrow"));split( ) 字符串轉(zhuǎn)化成數(shù)組
// split() 和 join() 是一對! var str = "aaa|bbb|ccc"; //字符串會根據(jù)參數(shù)被分割成幾部分;變成一個數(shù)組; console.log(str.split("|"));// ["aaa", "bbb", "ccc"] 按 | 進行分割 , 參數(shù)不會出現(xiàn)在數(shù)組中; console.log(str.split()); // ["aaa|bbb|ccc"] 不帶參數(shù),整體作為一個元素; console.log(str.split("")); // ["a", "a", "a", "|", "b", "b", "b", "|", "c", "c", "c"] 每一個字符都算一個元素;字符串案例
1.判斷一個字符串中出現(xiàn)次數(shù)最多的字符,統(tǒng)計這個次數(shù)
var str = "abcoefoxyozzopp"; // a:1,b:1,c:1...... 鍵值對; 對象或者json記錄; // 思路:遍歷字符串中的每一個元素,從json/對象中查找. // 判斷:有的話,值自增1;沒有的話,設(shè)置該屬性,值為1; var json = {};//將來往里面裝屬性和值;{屬性就是字符串中的元素,值就是出現(xiàn)的次數(shù)} //for循環(huán)遍歷 for(var i=0;i2.獲取url中?后面的內(nèi)容,并轉(zhuǎn)化成對象的形式。例如:http://www.itaaaaa.com/login?...
var str = "http://wwwaitaaaaa.com/login?name=zs&age=18&a=1&b=2"; //思路:找到?,然后截取到最末尾;把字符串按照&分割;可以再次按照=分割,然后創(chuàng)建對象 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 //以&符號分割轉(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ù)組中的每一個元素都遍歷出來,然后前面的做屬性,后面的做值; for(var i=0;i
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/90171.html
摘要:四如果需要遍歷數(shù)組,應(yīng)該先緩存數(shù)組長度,將數(shù)組長度放入局部變量中,避免多次查詢數(shù)組長度。五盡量選用局部變量而不是全局變量。所以如果這樣的表達式重復(fù)出現(xiàn),只要可能,應(yīng)該盡量少出現(xiàn)這樣的表達式,可以利用局部變量,把它放入一個臨時的地方進行查詢。 通過網(wǎng)上查找資料了解關(guān)于性能優(yōu)化方面的內(nèi)容,現(xiàn)簡單整理,僅供大家在優(yōu)化的過程中參考使用,如有什么問題請及時提出,再做出相應(yīng)的補充修改。 一、 讓...
摘要:基礎(chǔ)知識前端開發(fā)常用的瀏覽器谷歌瀏覽器內(nèi)核引擎火狐瀏覽器內(nèi)核歐朋瀏覽器內(nèi)核瀏覽器內(nèi)核瀏覽器內(nèi)核作為前端開發(fā),我們會使用編寫代碼,編寫代碼的時候要遵循一些規(guī)范瀏覽器開發(fā)商開發(fā)的瀏覽器,目的就是為了按照的規(guī)范,識別出開發(fā)者編寫的代碼,并且在頁面 JS基礎(chǔ)知識 前端開發(fā)常用的瀏覽器 谷歌瀏覽器(chrome):Webkit內(nèi)核(v8引擎) 火狐瀏覽器(firefox):Gecko內(nèi)核 歐朋...
摘要:在中,只支持單線程。在這種場合下,如果能夠使用多進程,則可以為每個請求分配一個進程,從而可以更好地使用服務(wù)器端的資源。進程進程對象的屬性用于運行應(yīng)用程序的可執(zhí)行文件的絕對路徑的版本號及其各依賴的版本號當前運行的平臺用于讀入標準輸入流的對象。 Process 在Node.js中,只支持單線程。但是在應(yīng)用程序中,如果只使用單線程進行操作,從接收請求開始到返回響應(yīng)為止的這段時間內(nèi)可能存在很長...
摘要:性能訪問字面量和局部變量的速度是最快的,訪問數(shù)組和對象成員相對較慢變量標識符解析過程搜索執(zhí)行環(huán)境的作用域鏈,查找同名標識符。建議將全局變量存儲到局部變量,加快讀寫速度。優(yōu)化建議將常用的跨作用域變量存儲到局部變量,然后直接訪問局部變量。 缺陷 這本書是2010年出版的,這本書談性能是有時效性的,現(xiàn)在馬上就2018年了,這幾年前端發(fā)展的速度是飛快的,書里面還有一些內(nèi)容考慮IE6、7、8的東...
摘要:語法常量名值常量名在程序中,通常采用大寫形式。結(jié)果為類型作用表示使用的數(shù)據(jù)不存在類型只有一個值即當聲明的變量未賦值未初始化時,該變量的默認值就是類型用于表示不存在的對象。結(jié)果為按位或,對小數(shù)取整將任意小數(shù)與做按位或,結(jié)果則取整數(shù)部分。 前端知識點總結(jié)——JS基礎(chǔ) 1.javascript概述(了解) 1.什么是javascript javascript簡稱為js,是一種運行于js解釋器...
摘要:在創(chuàng)建時大小已經(jīng)被確定且是無法調(diào)整的,在內(nèi)存分配這塊是由層面提供而不是具體后面會講解。在這里不知道你是否認為這是很簡單的但是上面提到的一些關(guān)鍵詞二進制流緩沖區(qū),這些又都是什么呢下面嘗試做一些簡單的介紹。 showImg(https://segmentfault.com/img/remote/1460000019894717?w=1280&h=850); 多數(shù)人都擁有自己不了解的能力和機...
閱讀 1978·2021-11-22 15:33
閱讀 3009·2021-11-18 10:02
閱讀 2622·2021-11-08 13:16
閱讀 1632·2021-10-09 09:57
閱讀 1378·2021-09-30 09:47
閱讀 2013·2019-08-29 13:05
閱讀 3075·2019-08-29 12:46
閱讀 1013·2019-08-29 12:19