首先要说明的是:String这个构造函数比较特殊,我们不需要实例化它,只要用一个字符串就可以调用String实例化对象的方法和属性。
JS会自动将字符串转换为字符串对象,因此,任何一个字符串常量都可以看作是一个String对象,字符串可以直接作为对象使用。
例如:
console.log('hello'.length);//这是String对象中标记字符串长度的属性,通过调用这个属性可以读出字符串的长度。输出结果为5
当然,我们一般不会这样使用,因为在编写程序时,往往是需要取一个字符串变量的长度做一些流程判断,所以,应该是这样用
var str='hello';
console.log(str.length);//输出结果同样为5
字符串与String对象的不同在于返回的typeof值,前者返回的是string类型,后者是Object类型。
var str1='hello';
var str2=new String('hello');
console.log(typeof str1,typeof str2 );
在String对象中有非常多的方法,我们这里只讲解一些最常用,必须要求记住的方法,其它方法用到时查询手册即可,列举如下:
方法 | 解释 | 举例 | str.length | 获取字符串长度 | var str='hello'; console.log(str.length); | str.charAt(index) | 取出指定索引的字符,通常用 [] 语法代替。 | console.log(str.charAt(0));//结果为h | str.charCodeAt(index) | 取出指定索引字符的 unicode 编码。 | console.log(str.charCodeAt(0));//结果为104 | str.indexOf(value) | 返回value在字符串中第一次出现的位置。 | console.log(str.indexOf('e'));//结果为1 | str.lastIndexOf(value) | 返回value在字符串中最后一次出现的位置。 | console.log(str.lastIndexOf('l'));//结果为3,索引从0开始,即第4个 | str.slice(start [,end]) | 截取字符串。
第一个参数指定开始截取的位置。
第二个参数指定结束位置(结果中不包括结束位置的字符)。
如果不指定第二个参数,则截取到字符串结尾。 | console.log(str.slice(1,3));//结果为el
console.log(str.slice(1));//结果为ello | str.substring(start [,end]) | 同slice | 同上 | str.substr(start [,end]) | 截取字符串,与slice 相比,第二个参数指定的是截取的长度。
如果不指定第二个参数,则截取到字符串结束。 | console.log(str.substr(1,2));//结果为el
console.log(str.substr(1));//结果为ello | str.split([分隔符]) | 把字符串分割为数组。 | var str='h e l l o';
console.log(str.split(' '));//结果为['h', 'e', 'l', 'l', 'o'] | str.toUpperCase() | 把字符串全部转为大写。 | var str='hello';
console.log(str.toUpperCase());//结果为HELLO | str.toLowerCase() | 把字符串全部转为小写。 | var str='HELLO';
console.log(str.toUpperCase());//结果为hello | str.trim() | 去除首尾空格。 | var str=' HELLO ';
console.log(str.trim());//结果为HELLO |
以上列出的方法都是必须要记住的方法。
ok,关于内置构造函数String的讲解就到这里,大家自己练习一下。
注意:代码这个东西就算看懂了也没用,一定亲自要动手去写才行。
|