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) 收藏 举报