字符串属性和方法
# String 对象
String 对象用于处理文本(字符串)。
String 对象创建方法: new String()。
# 语法
var txt = new String("*string*");
或者更简单方式:
var txt = "*string*";
2
3
4
5
# String 对象属性
| 属性 | 描述 |
|---|---|
| constructor (opens new window) | 对创建该对象的函数的引用 |
| length (opens new window) | 字符串的长度 |
| prototype (opens new window) | 允许您向对象添加属性和方法 |
# constructor 属性
constructor 属性返回对 String 对象属性创建的函数。
var txt = "Hello World!";
console.log(txt.constructor);
2
结果:[Function: String]
这个字符串的函数是 string函数
# prototype 属性
prototype 属性允许您向对象添加属性和方法
注意: Prototype 是全局属性,适用于所有的 Javascript 对象。
# 语法
object.prototype.name=value
function employee(name,jobtitle,born){
this.name=name;
this.jobtitle=jobtitle;
this.born=born;
}
var fred=new employee("Fred Flintstone","Caveman",1970);
employee.prototype.salary=null; // 给employee添加一个salary属性
fred.salary=20000; //给实例化的fred salary赋值
console.log(fred.salary); //结果是2000
2
3
4
5
6
7
8
9
# String 对象方法
# charAt()
charAt() 方法可返回指定位置的字符。
第一个字符位置为 0, 第二个字符位置为 1,以此类推.
var a='i am fuck you'
var b='I am 16'
console.log(a.charAt(2)) // 字符串的第几个字符,结果a
2
3
# charCodeAt()
var a='i am fuck you'
var b='I am 16'
console.log(a.charCodeAt(2)) // 字符串的第几个字符的Unicode编码 ,结果97
2
3
# concat
var a='i am fuck you'
var b='I am 16'
console.log(a.concat(b,'haha')) // 把自身和其它的字符串链接
2
3
结果:i am fuck youI am 16haha
# fromCharCode
console.log(String.fromCharCode(97))
fromCharCode() 可接受一个指定的 Unicode 值,然后返回一个字符串。
**注意:**该方法是 String 的静态方法,字符串中的每个字符都由单独的 Unicode 数字编码指定。使用语法: String.fromCharCode()。
# indexOf
var a='today is thursday'
console.log(a.indexOf('d')) //字符串出现在的索引,结果2
2
# includes
var a='today is thursday'
console.log(a.includes('day')) //字符串是否包含,返回boolen,该结果true
2
# lastIndexOf
var a='today is thursday'
console.log(a.lastIndexOf('day')) //字符串位置从尾部开始索引,结果14
2
# match
match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
注意: match() 方法将检索字符串 String Object,以找到一个或多个与 regexp 匹配的文本。这个方法的行为在很大程度上有赖于 regexp 是否具有标志 g。如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配。如果没有找到任何匹配的文本, match() 将返回 null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。
var a='today is thursday'
console.log(a.match(/day/))
console.log(a.match(/day/g))
2
3
结果:注意两个结果的区别
[ 'day', index: 2, input: 'today is thursday', groups: undefined ]
[ 'day', 'day' ]
# repeat
var a='today is thursday'
console.log(a.repeat(2)) //赋值字符串次数,并且连接起来
2
结果:today is thursdaytoday is thursday
# replace
var a='today is thursday'
console.log(a.replace('o','e')) //替换值 结果 teday is thursday
2
替换所有的值
var a='aaaaa'
console.log(a.replace(/a/g,'e')) //利用正则表达式后面加个g就是全部替换,结果eeeee
2
替换并忽略大小写
var a='aaAaA'
console.log(a.replace(/a/gi,'e')) //利用正则表达式后面加个g和i就是全部替换,结果eeeee
2
# search
var a='I am luke I am happy'
console.log(a.search('am')) //查找值第一次所在的位置
2
# slice
var a='I am luke I am happy'
console.log(a.slice(1,4)) //索引1到4的字符
var a='I am luke I am happy'
console.log(a.slice(-4,-1)) //索引-4到-1的字符
2
3
4
5
# split
var a='I am luke I am happy'
console.log(a.split(' ',4))//以什么来分割,然后,显示几个
2
结果:[ 'I', 'am', 'luke', 'I' ]
# startswith
var a='I am luke I am happy'
console.log(a.startsWith('am ',2))//从第几个开始,是否以指定的字符开头,返回boolen
2
# substr
var a='I am luke I am happy'
console.log(a.substr(2,4))//从第几个开始,到后面几个字符,返回am l
2
# substring
var a='I am luke I am happy'
console.log(a.substring(2,4))//从第几个开始到第几个结束,和slice的区别,这个只能非负结果am
2
# toLowerCase toUpperCase
var a='I am luke I am happy'
console.log(a.toLowerCase())//全部小写
console.log(a.toUpperCase())//全部大写
2
3
# trim
var str = " Runoob ";
alert(str.trim());//去除字符串的头尾空格:
2
# valueOf()
valueOf() 方法可返回 String 对象的原始值。
注意: valueOf() 方法通常由 JavaScript 在后台自动进行调用,而不是显式地处于代码中。
<script>
var str="Hello world!";
document.write(str.valueOf());
</script>
2
3
4
5
6
# toString()
var a=6
var b=a.toString()
console.log(typeof(b))//结果是string
2
3
4
5