Javascript經典實例 - 字符串

 

    1] 'this is a string'這是字符串直接量,new String('this is a string')這是字符串對象,字符串對象能夠用字符串對象所帶的屬性和方法,直接量在「表面上」也能夠用,但實質是先轉成了對象,作處理結束之後再丟棄對象,返回結果。如:sql

1 var city =new String("St. Louis");
2 var lcCity = city.toLowerCase();//輸出st. louis

    2] 鏈接字符串能夠經過運算符「+」,也能夠經過String對象自帶函數concat,如:oracle

var oracle = "oracle";
oracle += " sql";//輸出oracle sql
/* 等價於 */
var oracle = "".concat("oracle"," sql");//固然,能夠添加更多的參數

    3] 字符串比較通常都是經過運算符"=="、"<"、">",還有一個String對象的方法localeCompare也能夠做比較,如:app

var f1 = "apple」;
var f2 = "grape";
var i = f1.localeCompareCompare(f2);//返回-1
/* 相同爲0,小於爲-1,大於爲1(f1對比f2) */

    4] 在字符串中查找子字符串能夠經過String的內置對象indexOf,返回的是子字符串的位置,若是用lastIndexOf能夠從右向左計數;固然,還有其餘不少方法,這只是其中的一種。索引方式舉例以下:函數

"this apple is my apple".lastIndexOf("apple");//返回值17
"this apple is my apple".lastIndexOf("apple",12);//返回值5
"this apple is my apple".lastIndexOf("apple",3);//返回值-1(沒找到)

    5] 分割字符串,你們應該都知道的,substr、substring,還有就是split,用這些方法,配合indexOf就能夠提取字符串了。例子就不舉了。ui

    6] 檢查非空字符串,運用typeof、valueOf以及length長度便可。typeof檢測數據基本類型,valueOf是全部對象的方法,不侷限於string,返回調用對象的基本值——之因此還要用它,是由於若是不肯定字符串是否存在,用length會報錯,並且若是字符串不是直接量,而是一個被new出來的String對象,那麼typeof也會返回object類型,不過通常在咱們實際應用中,出現如此不肯定的東西的時候仍是不多的,因此通常省略valueOf也均可以達到目的。this

    7] 去除字符串末尾空白,能夠用字符串對象自帶的replace方法,用正則將空白都替換成"",不過ECMAScript5新增了一個trim的方法,能夠自動去除空白,可是IE8不支持,能夠本身封裝一個,好比:spa

if(typeof String.trim == "undefined"){
  String.prototype.trim = function(){
      return this.replace(/(^\s)|(\s*$)/g, "");
  }  
}

    這樣String對象裏面若是沒有trim方法,則會給String原型上添加這樣一個方法,能夠被使用。除此以外,還能夠單獨去除左邊和右邊的空白,trimLeft,trimRight。prototype

相關文章
相關標籤/搜索