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

相关文章
相关标签/搜索