类型判断
typeof
typeof 用于检测数据类型,对一个值使用typeof操作符会返回下列字符串之一:
调用typeof null 和 typeof [1, 2, 3] 和 typeof {} 返回的是object,这是因为特殊值null被认为是一个对空对象的引用。
调用typeof [1, 2, 3] 和 typeof {} 返回的也是object。
instanceof
instanceof 用于判断调用对象的原型,判断对象的原型是否在原型链上。返回true或false。
语法
let message = "message";console.log(message instanceof String) // true
字符串转义
“\” 在JavaScript中表示转义字符。
- \n 表示换行
- \t 表示制表符(空格)
但是在HTML中不论使用多少 \t 使用显示相应的空格,在HTML中需要使用” ”来表示空格。
模板自变量语法
模板自变量是JavaScript的新增语法,在
${ }中可以进行字符串的拼接。同时也支持换行等操作。{}中支持JavaScript中绝大多数的表达式。也支持函数。语法示例:
`${表达式}`function show() {return "内容"};console.log("展示" + `${show()}`) // "展示内容"
模板字面量嵌套
-
示例:
```javascript function template() {
}
<a name="75t4Y"></a>## 字符串基本函数使用<a name="45nd7"></a>### 字符串属性<a name="Jj7g1"></a>#### length- 获取字符串长度。```javascriptlet name = "Tony";console.log(name.length)
字符串常用基本方法
toUpperCase()
- 将调用该方法的字符串转为大写形式并返回,如果调用该方法的值不是字符串类型,会被强制转换。
返回一个新的字符串,表示转换为大写的调用字符串。
newStr = str.toUpperCase()
toLowerCase()
调用该方法的字符串转为小写形式。并返回一个新的字符串。
newStr = str.toLowerCase()
trim()
trim()方法会剔除字符串两边的空白字符,并返回一个新的字符串。
newStr = str.trim()
charAt()
charAt()方法从一个字符串中返回指定的字符。需要传递一个index索引参数。如果不传递,默认是0,如果超出了字符串的索引范围,则返回一个空字符串。
str.charAt(index)
也可以使用迭代器的方法,通过下标获取某一个字符。
str[0]
字符串截取
slice()
slice()方法用于截取字符串,并返回一个新的字符串,且不会改动原字符串。
语法:
str.slice(beginIndex[, endIndex])
参数:
beginIndex:从该索引(以0位基数)处开始提取字符串中的字符。如果值为负数会被当做strLength + beginIndex看待。这里的strLength是字符串的长度。例如,如果beginIndex是-3,则看做是:strLength - 3。
endIndex:可选参数,在该索引(以0位基数)处结束提取字符串。如果省略该参数,则表示会一直提取到字符串末尾。如果该参数为负数,则被看作是strLength + endIndex。例如endIndex 是-3,则是:strLength - 3。
substr()
substr()方法返回一个字符串中从指定位置开始到指定字符数的字符。返回一个新的字符串,并且不会改动原字符串。
语法:
str.substr(start[,length])
参数:
start:开始提取字符的位置。如果为负数,则被看做 strLength + start。
-
substring()
substring()方法返回一个字符串在开始索引到结束索引之间的一个子集。或从开始索引直到字符串的末尾的一个子集。
语法:
str.substring(indexStart[, indexEnd])
参数:
indexStart:需要截取的一个字符的索引,该索引位置的字符作为返回的字符串的首字母。
indexEnd:可以参数。一个0到字符串长度之间的整数,以该数字为索引的字符不包含在截取的字符串内。
注意:
如果indexStart等于indexEnd,则返回一个空字符串。
- 如果省略indexEnd,则提取字符一直到字符串末尾。
- 如果任一参数小于0或为NaN,则被当做0。
- 如果任一参数大于stringName.length,则被当作stringName.length。
如果indexStart大于indexEnd,则subString的执行效果就像连个参数调换了一样。
字符串的检索
indexOf()
indexOf()方法返回调用它的 String 对象中第一次出现的指定值的索引,从 fromIndex 处进行搜索。如果未找到该值,则返回-1。
类似的语法还有 lastIndexOf(),表示从右面开始查找。
语法:
str.indexOf(searchValue [,fromIndex])
参数:
searchValue:要被查找的字符串值。如果没有传递,则会被强制设置为”undefined”。
fromIndex:可选参数。数字表示开始查找的位置。可以是任意整数,默认值是0。
includes()
includes() 方法英语判断一个字符串是否包含在另一个字符串中,根据情况返回 true 或 false。
语法:
str.includes(searchString [,position])
参数:
searchString:要在此字符串中搜索的字符串。
position:从当前字符串的那个索引位置开始搜寻子字符串。
startsWith()
startsWith() 方法用来判断当前字符串是否以另外一个给定的字符串开头,并根据判断结果返回 true 或 false。
-
语法:
str.startsWith(searchString [,position])
参数:
searchString:要在此字符串中搜索的字符串。
position:从当前字符串的那个索引位置开始搜寻子字符串。
字符串的替换
replace()
replace() 方法返回一个由替换值(replacement)替换部分或所有的模式(pattern)匹配项后的新字符串。模式可以使一个字符串或者是一个正则表达式。替换值可以是一个字符串或者一个每次匹配都要调用的回调函数。如果pattern是字符串,则仅替换第一个匹配项。
语法:
str.replace(regexp|substr, newSubStr|function)
参数:
regexp(pattern): 一个 RegExp 对象或者其字面量。该正则所匹配到的内容会被第二个参数的返回值替换掉。
- subStr(pattern):被替换掉的字符串。仅第一个匹配项会被替换。
- newSubStr(replacement):用于替换掉第一个参数在源字符串中的匹配部分的字符串。
function(replacement):一个用来创建新子字符串的额函数,该函数的返回值将替换掉第一个参数匹配到的结果。
repeat()
repeat() 构造并返回一个新字符串,该字符串包含被连接在一起的指定数量的字符串的副本。
语法:
str.repeat(count)
参数:
count:正整数。表示在新构造的字符串中重复了多少遍原字符串。
split()
split() 方法将字符串按照指定的方式进行分割成字符串数组。
语法:
str.split(separator[, limit])
参数:
separator:指定拆分字符串的标识,可以是一个字符串或者正则表达式。
- limit:可选参数,一个整数,限定返回的分割片段数量。
