JS学习六:字符串

定义字符串、字符串对象:

var str1 = "abcds"
var str2 = new String("abcds")
console.log(str1)  // "abcds"
console.log(typeof(str1))   // string
console.log(str2)    // "abcds"
console.log(typeof(str2))   // object对象

 

可见,方法1,定义的是字符串,是基本数据类型;方法2,定义的是字符串对象,是非基本数据类型(对象类型)。

但是,方法1定义的字符串,可以使用方法2定义的字符串对象所拥有的所有方法和属性。这是因为字符串,在使用字符串对象的方法和属性的时侯,会自动转化为字符串对象。

console.log(str1.length)  // 结果:5。字符串使用了字符串对象的属性。
console.log(str2.length)  // 结果:5。字符串对象所拥有的属性

 

总结:虽然两种方法定义的分别是字符串和字符串对象,是不同的数据类型,但是它们在使用时,是一样的。

 

字符串,不可修改。

字符串的长度,是按各个语言的字符个数来计算的,不是按照字节计算。

比如:'abc'的长度为3,"中国人"的长度为3

 

二、字符串的方法:

1.使用下标或charAt取字符串中的某个字符。

console.log("abc"[1])   //b
console.log("abc".charAt(1))   //b

 2.取字符串中某字符的ascii值:

console.log("abc".charCodeAt(1))  //98
console.log("中国人".charCodeAt(1))  //22269

 3.从ascii值,取得字符值:

console.log(String.fromCharCode(98))   //b
console.log(String.fromCharCode(22269))   //

 

4.转换大小写

console.log("abc".toUpperCase())  //ABC
console.log("aBc".toLowerCase())  //abc

 

5.大小比较:

console.log("abc" > "ABC")   // false
console.log("abc".localeCompare("ABC"))  //结果:-1。说明:大于为1,等于0,小于-1

 

6.查找字符,得到此字符对应的第一个下标;没找到得到-1:

console.log("abc".indexOf('b'))  //1

 

7.查看字符,得到此字符对应的最后一个下标,没找到为-1:

console.log("abc".lastIndexOf('bb'))  // -1

 

8.替换字符,返回新字符串;只能替换一个,要全部替换,使用正则:

console.log("abc".replace("b", "BB"))    //aBBc

 

9.取指定范围内的字符:

substring与substr的相同点:第一个参数都是下标

不同点,如果有第二个参数:substring第二个参数也是下标,substr第二个参数,为截取的字符个数。

console.log("abcde".substring(1, 3))  // bc
console.log("abcde".substring(1))  //bcde

 

10.切割字符串,返回数组:

console.log("a bc de".split(" "))  //["a", "bc", "de"]

 

11.拼接字符串,返回新的字符串:

console.log("ab" + "cd")   //abcd

 

posted on 2018-11-18 15:12  myworldworld  阅读(134)  评论(0)    收藏  举报

导航