字符串
字符串是JavaScript 的一种基本的数据类型
String 对象的 length 属性声明了该字符串中的字符数。
String 类定义了大量操作字符串的方法,例如从字符串中提取字符或子串,或者检索字符或子串。
需要注意的是,JavaScript 的字符串是不可变的(immutable),String 类定义的方法都不能改变字符串的内容。像 String.toUpperCase() 这样的方法,返回的是全新的字符串,而不是修改原始字符串
字符串的属性
constructor :对创建该对象的函数的引用
length: 字符串的长度
prototype: 允许向对象添加属性和方法
字符串的对象方法
indexOf(): 检索字符串
chartAt() : 返回在指定位置的字符;
concat():连接字符串
lastIndexOf(): 从后向前搜索字符串
match(): 找到一个或多个正则表达式的匹配
replace(): 替换与正则表达式匹配的子串
search(): 检索与正则表达式相匹配的值
slice(): 提取字符串片段,并在新的字符串中返回被提取的部分
split():把字符串分割为字符串数组
toLocaleUpperCase(): 把字符串转换为大写
toString():返回字符串
valueOf(): 返回某个字符传对象的原始值。
indexOf()
:此方法可返回某个指定的字符串值在字符串中首次出现的位置
如果没有匹配到 则返回 -1;
注意: indexOf() 方法区分大小写
eg1:
str =['one','lemon','mango']
let n = str.indexOf('lemon')
console.log(n) // n 1
eg2
str =['one','lemon','mango']
let n = str.indexOf('lemon') ==-1
console.log(n) // false
let h= str.indexOf('orange') ==-1
console.log(h) //true
includes()
:此方法用于判断字符串是否包含指定的子字符串。
如果找到匹配的字符串则返回 true,否则返回 false。
string.includes(searchvalue, start) 此方法还可以指定位置开始查找 默认为 0
注意: includes() 方法区分大小写
slice()
语法:array.slice(start, end )
: 此方法用于提取字符串的某个部分 不会改变原始数组 返回新的数组
var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1,3);
// citrus 的输出是 Orange,Lemon
reduce()
语法:
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
var numbers = [65, 44, 12, 4];
function getSum(total, num) {
return total + num; }
function myFunction(item) {
document.getElementById("demo").innerHTML = numbers.reduce(getSum);
}
// 结果是 125
String.match()
语法 string.match(regexp)
后面可跟正则表达式 进行匹配
返回值 数组 包含匹配项 每个匹配对应一个 没有找到的话 就是Null
eg1
let text = "The rain in SPAIN stays mainly in the plain";
text.match(/ain/gi) // 返回数组 [ain,AIN,ain,ain]
eg2
let text = "The rain in SPAIN stays mainly in the plain";
text.match(/ain/g) // 返回数组 [ain,ain,ain]
toString() 返回字符串
返回值 :字符串,代表数组的值,用逗号隔开。 array.toString() 、 boolean.toString() 、 date.toString() 、 Number.toString()