String 对象属性和方法
String 对象
- var str = String(xxx)
- var str = new String(xxx)
- var str = "xxx"
- var str = `xxx`
- var str = xxx.toString()
- var str = xxx+""
String 对象与其实例对象的属性和方法:
// Object.getOwnPropertyDescriptors(String): name : {value: "String", writable: false, enumerable: false, configurable: true} length : {value: 1, writable: false, enumerable: false, configurable: true} prototype : {value: String, writable: false, enumerable: false, configurable: false} fromCharCode : {writable: true, enumerable: false, configurable: true, value: ƒ} fromCodePoint : {writable: true, enumerable: false, configurable: true, value: ƒ} raw : {writable: true, enumerable: false, configurable: true, value: ƒ} // Object.getOwnPropertyDescriptors(String.prototype): length : {value: 0, writable: false, enumerable: false, configurable: false} valueOf : {writable: true, enumerable: false, configurable: true, value: ƒ} Symbol(Symbol.iterator) : {writable: true, enumerable: false, configurable: true, value: ƒ} anchor : {writable: true, enumerable: false, configurable: true, value: ƒ} big : {writable: true, enumerable: false, configurable: true, value: ƒ} blink : {writable: true, enumerable: false, configurable: true, value: ƒ} bold : {writable: true, enumerable: false, configurable: true, value: ƒ} charAt : {writable: true, enumerable: false, configurable: true, value: ƒ} charCodeAt : {writable: true, enumerable: false, configurable: true, value: ƒ} codePointAt : {writable: true, enumerable: false, configurable: true, value: ƒ} concat : {writable: true, enumerable: false, configurable: true, value: ƒ} constructor : {writable: true, enumerable: false, configurable: true, value: ƒ} endsWith : {writable: true, enumerable: false, configurable: true, value: ƒ} f : {writable: true, enumerable: true, configurable: true, value: ƒ} fixed : {writable: true, enumerable: false, configurable: true, value: ƒ} fontcolor : {writable: true, enumerable: false, configurable: true, value: ƒ} fontsize : {writable: true, enumerable: false, configurable: true, value: ƒ} format : {writable: true, enumerable: true, configurable: true, value: ƒ} includes : {writable: true, enumerable: false, configurable: true, value: ƒ} indexOf : {writable: true, enumerable: false, configurable: true, value: ƒ} italics : {writable: true, enumerable: false, configurable: true, value: ƒ} lastIndexOf : {writable: true, enumerable: false, configurable: true, value: ƒ} link : {writable: true, enumerable: false, configurable: true, value: ƒ} localeCompare : {writable: true, enumerable: false, configurable: true, value: ƒ} match : {writable: true, enumerable: false, configurable: true, value: ƒ} matchAll : {writable: true, enumerable: false, configurable: true, value: ƒ} normalize : {writable: true, enumerable: false, configurable: true, value: ƒ} padEnd : {writable: true, enumerable: false, configurable: true, value: ƒ} padStart : {writable: true, enumerable: false, configurable: true, value: ƒ} repeat : {writable: true, enumerable: false, configurable: true, value: ƒ} replace : {writable: true, enumerable: false, configurable: true, value: ƒ} search : {writable: true, enumerable: false, configurable: true, value: ƒ} slice : {writable: true, enumerable: false, configurable: true, value: ƒ} small : {writable: true, enumerable: false, configurable: true, value: ƒ} split : {writable: true, enumerable: false, configurable: true, value: ƒ} startsWith : {writable: true, enumerable: false, configurable: true, value: ƒ} strike : {writable: true, enumerable: false, configurable: true, value: ƒ} sub : {writable: true, enumerable: false, configurable: true, value: ƒ} substr : {writable: true, enumerable: false, configurable: true, value: ƒ} substring : {writable: true, enumerable: false, configurable: true, value: ƒ} sup : {writable: true, enumerable: false, configurable: true, value: ƒ} toLocaleLowerCase : {writable: true, enumerable: false, configurable: true, value: ƒ} toLocaleUpperCase : {writable: true, enumerable: false, configurable: true, value: ƒ} toLowerCase : {writable: true, enumerable: false, configurable: true, value: ƒ} toString : {writable: true, enumerable: false, configurable: true, value: ƒ} toUpperCase : {writable: true, enumerable: false, configurable: true, value: ƒ} trim : {writable: true, enumerable: false, configurable: true, value: ƒ} trimEnd : {writable: true, enumerable: false, configurable: true, value: ƒ} trimLeft : {writable: true, enumerable: false, configurable: true, value: ƒ} trimRight : {writable: true, enumerable: false, configurable: true, value: ƒ} trimStart : {writable: true, enumerable: false, configurable: true, value: ƒ}
String.prototype 常用方法与描述
方法 | 描述 |
---|---|
charAt() | 返回索引对应的字符。 |
charCodeAt() | 返回索引对应的字符的Unicode值 |
concat() | 连接多个字符串,并返回连接后的字符串。 |
trim() | 去除字符串首尾空格。 |
indexOf() | 返回匹配子字符串第一次出现的位置,如果不存在就返回-1。 |
lastIndexOf() | 返回匹配子字符串最后一次出现的位置,如果不存在就返回-1。 |
localeCompare() | 比较两个字符串,相同返回0,不同返回-1。 |
includes() | 判断字符串中有无特定字符串,有返回true,无返回false。 |
match() | 用于匹配正则表达式,返回一个对象,不匹配返回null。 |
replace() | 用指定字符串替换正则匹配的字符串,返回替换后的字符串。 |
search() | 返回正则匹配的字符串的索引。 |
slice() | 返回指定位置的字符串。 |
split() | 返回一个被正则匹配分割开的字符串组成的数组,可指定数组长度 |
substr() | 返回在指定位置开始的字符串中的字符。 |
substring() | 返回在字符串中指定两个下标之间的字符。 |
toLowerCase() | 大写字符转小写。 |
toLocaleLowerCase() | 根据语言环境,大写字符转小写 |
toUpperCase() | 小写字符转大写。 |
toLocaleUpperCase() | 根据语言环境,小写字符转大写 |
toString() | 返回表示该对象的一个字符串。 |
valueOf() | 返回指定对象的原始数值。 |
String.prototype 常用方法
1、charAt()
功能:返回指定位置的字符。
语法:str.charAt(index)
参数:index,目标字符的下标位置(如果是数字字符串会转为数字,建议直接用数字)。
index 超出 0 ~ str.length-1 范围,将返回一个空字符串
示例:
var str = '小强今晚再打老虎' str.charAt()// '小' str.charAt(3)// '晚' str.charAt('3')// '晚' str.charAt('')// '小' str.charAt(999)// '' str.charAt(str.length)// '' str.charAt(str.length-1)// '虎'
2、charCodeAt()
功能:返回在指定的位置的字符的 Unicode 编码。
语法:str.charCodeAt(index)
参数:index,目标字符的下标位置。
index 超出 0 ~ str.length-1 范围,将返回NaN。
示例:
var str = '小强今晚再打老虎' str.charCodeAt()// 23567 str.charCodeAt(3)// 26202 str.charCodeAt('3')// 26202 str.charCodeAt('')// 23567 str.charCodeAt(999)// NaN str.charCodeAt(str.length)// 'NaN' str.charCodeAt(str.length-1)// 34382
3、indexOf()
功能:
- 根据第一个参数查找 str 中由左到右首次出现的索引,有则返回索引,没有则返回 -1
- 传空值时,如果有第二个参数则返回第二个参数,如果没有返回0
- 大小写敏感。
语法:str.indexOf(searchValue [, fromIndex])
参数:无参数返回-1
- searchValue:目标字符串。
- fromIndex:查找的开始位置索引,可选,范围在 0 ~ str.length-1 。不传此参数按 0 开始查找。
示例:
var str = '小强今晚再打tiger' str.indexOf()// -1 str.indexOf('')// 0 str.indexOf('',3)// 3 str.indexOf('今晚')// 2 str.indexOf('今晚',5)// -1 str.indexOf('tiger',5)// 6 str.indexOf('Tiger')// -1
4、lastIndexOf()
功能:从右向左查找字符串,返回指定子字符串在 str 中由右到左首次出现的索引(与indexOf 功能基本相同,方向相反)。
语法:str.lastIndexOf(searchValue[, fromIndex])
参数:
- searchValue:目标字符串。
- fromIndex:在字符串中开始检索的位置,可选。范围 0 ~ str.length-1。如省略该参数,则将从字符串的最后一个字符开始检索。
示例:
var str = '小强今晚再打tiger' str.lastIndexOf()// -1 str.lastIndexOf('')// 11 str.lastIndexOf('',6)// 6 str.lastIndexOf('',666)// 11 str.lastIndexOf('今晚')// 2 str.lastIndexOf('今晚',str.length-1)// 2 str.lastIndexOf('tiger',4)// -1 str.lastIndexOf('Tiger')// -1
5、match()
功能:返回匹配正则的字符。
语法:str.match(regexp)
参数:regexp,规定要查找的字符串值或待匹配的 RegExp 对象。
返回值:
- 如果使用g标志,则将返回与完整正则表达式匹配的所有结果,但不会返回捕获组。
- 如果未使用g标志,则仅返回第一个完整匹配及其相关的捕获组。 在这种情况下,返回的项目将具有如下所述的其他属性。
- groups: 一个捕获组数组 或 undefined(如果没有定义命名捕获组)。
- index: 匹配的结果的开始位置。
- input: 搜索的字符串。
- 如未找到正则匹配的字符串返回null。
示例:
var str = '小强今晚再打tiger'; str.match(/\w/)// ["t", index: 6, input: "小强今晚再打tiger", groups: undefined] str.match(/\w/g)// ["t", "i", "g", "e", "r"] str.match('小强')// ["小强", index: 0, input: "小强今晚再打tiger", groups: undefined] str.match('老虎')// null
6、replace()
功能:用一些字符替换 str 中的某些字符,或替换一个与正则表达式匹配的子字符串。
语法:str.replace(regexp | substr, newSubStr | function)
参数:第二个参数不传会用 undefined 替换
- regexp (pattern):一个RegExp 对象或者其字面量。该正则所匹配的内容会被第二个参数的返回值替换掉。
- substr (pattern):一个将被 newSubStr 替换的 字符串。其被视为一整个字符串,而不是一个正则表达式。仅第一个匹配项会被替换。
- newSubStr (replacement):用于替换掉第一个参数在原字符串中的匹配部分的字符串。该字符串中可以内插一些特殊的变量名。
- function (replacement):一个用来创建新子字符串的函数,该函数的返回值将替换掉第一个参数匹配到的结果。
返回值:替换后的一个新字符串,不修改原字符串。
示例:
var str = '小强今晚23点45分再打tiger'; var reg = /tiger/gi; str.replace(reg, '老虎'); // "小强今晚23点45分再打老虎" function reStrFn() {return '老鼠'} str.replace(reg, reStrFn); // "小强今晚23点45分再打老鼠" var subStr = '23点45分' str.replace(subStr,'21点15分'); // "小强今晚21点15分再打tiger" var timeReg = /([01][0-9]|[2][0-3])点[0-5][0-9]分/; str.replace(timeReg,'20点55分'); // "小强今晚20点55分再打tiger" str.replace('小强'); // "undefined今晚23点45分再打tiger"
7、search()
功能:在 str 中查找传入的字符串或正则匹配的字符,找到返回索引,没找到返回-1。
语法:str.search(regexp/substr)
参数:regexp/substr,规定子字符串或要匹配的 RegExp 对象。
返回值:原字符串中第一次匹配到目标字符串的起始位置。
search()方法不执行全局匹配,它将忽略标志 g。也就是说,它只匹配一次。若没匹配到结果,则返回-1。
示例:
var str = '小强今晚再打tiger'; str.search()// 0 str.search('')// 0 str.search(/\w/g)// 6 str.search('今晚')// 2 str.search('老虎')// -1
8、concat()
功能:用于连接两个或多个字符串。
语法:str.concat(string2, string3[, ..., stringN])
参数:string2...stringN,与原 str 链接的多个字符串
返回值:链接后的一个新字符串,不改变原 str。
concat方法不会修改原字符串。
示例:
var whoStr = '小强'; var whenStr = '今晚'; var times = '2'; var isFirstTime = (times>1)?'再':''; var toDoStr = '打'; var whatStr = '老虎'; whoStr.concat(whenStr,isFirstTime,toDoStr,whatStr)// "小强今晚再打老虎"
9、split()
功能:使用指定字符串把原 str 分割成字符串数组,类似 Array.join( ) 的逆操作。
语法:str.split([separator[, limit]])
参数:
- separator:字符串或正则表达式,从该参数指定的地方分割原str。
- limit:限定返回数组的最大长度。
返回值:一个字符串数组。
示例:
var str = '今天天气很好,小强今晚再打老虎' str.split('')// ["今", "天", "天", "气", "很", "好", ",", "小", "强", "今", "晚", "再", "打", "老", "虎"] str.split('',5)// ["今", "天", "天", "气", "很"] str.split('天')// ["今", "", "气很好,小强今晚再打老虎"] str.split('今')// ["", "天天气很好,小强", "晚再打老虎"]
10、slice()
功能:截取 str 中指定的某部分字符串,并返回这部分字符串,与 Array.slice() 相似。
语法:str.slice(beginIndex[, endIndex])
参数:
- beginIndex:截取的起始索引,不传默认从0开始,传负数则从 str.length + beginIndex 开始(即从倒第 beginIndex 个开始)。
- endIndex:截取的结束索引,不传默认为 str.length ,传负数则从 str.length + endIndex 开始。
返回值:截取部分,一个新的字符串,原 str 不改变。
示例:
var str = '小强今晚再打tiger'; str.slice()// "小强今晚再打tiger" str.slice(2)// "今晚再打tiger" str.slice(2,3)// "今" str.slice(6)// "tiger" str.slice(-6)// "打tiger" str.slice(-6,str.length-2)// "打tig" str.slice(-6,-1)// "打tige"
11、substr()
功能:截取 str 中指定的某部分字符串,并返回这部分字符串。
语法:str.substr(beginIndex[, length])
参数:
- beginIndex:截取的起始索引,不传默认为0,传负数则从 str.length + beginIndex 开始(即从倒第 beginIndex 个开始)。
- length:截取字符串的长度,若未指定,则默认截取到 str 末尾。
返回值:截取部分,一个新的字符串,原 str 不改变。
注意:非 ECMAscript 标准化,将来或被移除,不建议使用。
示例:
var str = '小强今晚再打tiger'; str.substr()// "小强今晚再打tiger" str.substr(2)// "今晚再打tiger" str.substr(2,3)// "今晚再" str.substr(6)// "tiger" str.substr(-6)// "打tiger" str.substr(-6,str.length-2)// "打tiger" str.substr(-6,-1)// ""
12、substring()
功能:截取字符串中介于两个指定下标之间的字符(与slice相似,不过参数不接受负值)。
语法:str.substring(beginIndex[, endIndex])
参数:
- beginIndex:截取的起始索引,不传默认为0,传负值默认为0。
- endIndex:可选,截取的结束索引,若未指定,则默认截取到原字符串的末尾。
返回值:截取部分,一个新的字符串,原 str 不改变。
注意:两参数都是非负数时,如果 beginIndex 比 endIndex 数值大,会互换 beginIndex 与 endIndex 。
示例:
var str = '小强今晚再打tiger'; str.substring()// "小强今晚再打tiger" str.substring(2)// "今晚再打tiger" str.substring(2,3)// "今" str.substring(3,2)// "今" str.substring(6)// "tiger" str.substring(-6)// "小强今晚再打tiger" str.substring(6,str.length-2)// "tig" str.substring(-6,str.length-2)// "小强今晚再打tig" str.substring(-6,-1)// "" str.substring(-6,-8)// ""
13、trim()
功能:去除 str 两端空白字符串(包含空格,tab等)。
语法:str.trim()
参数:无
返回值:去除空白字符串后的新字符串
示例:
var str = ' 小强今晚再打tiger '; str.trim()// "小强今晚再打tiger"
14、localeCompare()
功能:基于本地环境对比两个字符串的排序,返回 -1 或 0 或 1。
语法:str.localeCompare(compareString[, locales[, options]])
参数:
- compareString:用于和 str 对比的字符串
- locales:可选。 用来表示一种或多种语言或区域的一个符合 BCP 47 标准的字符串或一个字符串数组。下列的 Unicode 扩展关键词是允许的:
- co:为了某些地域多样的排序规则。可能的值包括: "big5han", "dict", "direct", "ducet", "gb2312", "phonebk", "phonetic", "pinyin", "reformed", "searchjl", "stroke", "trad", "unihan"。 "standard" 和"search" 这两个值是被忽略的; 它们被 options 的属性 usage 代替。
- kn:指定数值排序是否应该被使用, 像是这样 "1" < "2" < "10"。 可能的值是 "true" 和 "false"。 这个选项能被通过options 属性设置或通过 Unicode 扩展。 假如两个都被设置了, 则 options 优先。("language-region-u-kn-true|false")。
- kf:指定是否优先对大写字母或小写字母排序。 可能的值有 "upper", "lower", 或 "false" (use the locale's default)。这个选项能被通过options 属性设置或通过 Unicode 扩展。假如两个都被设置了, 则 options 优先。("language-region-u-kf-upper|lower|false")。
- options:可选。 支持下列的一些或全部属性的一个对象:
- localeMatcher:地域匹配算法的使用. 可能的值是 "lookup" 和 "best fit"; 默认的值是 "best fit"。
- usage:指定比较的目标是排序或者是搜索. 可能的值是 "sort" 和 "search"; 默认是 "sort"。 sensitivity:指定排序程序的敏感度(Which differences in the strings should lead to non-zero result values.) 可能的有:
- "base": 只有不同的字母字符串比较是不相等的. 举个例子: a ≠ b, a = á, a = A.
- "accent": 只有不同的字母或读音比较是不相等的. 举个例子: a ≠ b, a ≠ á, a = A.
- "case": 只有不同的字母或大小写比较是不相等的. 举个例子: a ≠ b, a = á, a ≠ A.
- "variant": 不同的字母或读音及其它有区别的标志或大小写都是不相等的, 还有其它的差异可能也会考虑到. 举个例子: a ≠ b, a ≠ á, a ≠ A.
- ignorePunctuation:指定是否忽略标点. 可能的值是 true and false; 默认为 false。
- numeric:是否指定使用数字排序, 像这样 "1" < "2" < "10". 可能的值是 true 和 false; 默认为 false. 这个选项能被通过options 属性设置或通过 Unicode 扩展。假如两个都被设置了, 则 options 优先。 实现不用必须支持这个属性。
- caseFirst:指定大小写有限排序. 可能的值有 "upper", "lower", or "false" (use the locale's default); 默认为 "false". 这个选项能被通过options 属性设置或通过 Unicode 扩展。假如两个都被设置了, 则 options 优先。 实现不用必须支持这个属性。
返回值:用于对比的字符串排序在str之前返回1,相同返回0,排序在str之后返回-1
示例:
var nStrArr = ['8','9','10','11','12'] nStrArr[2].localeCompare(nStrArr[0])// -1 众所周知 '10'<'8' === true nStrArr[2].localeCompare(nStrArr[1])// -1 众所周知 '10'<'9' === true nStrArr[2].localeCompare(nStrArr[2])// 0 nStrArr[2].localeCompare(nStrArr[3])// -1 nStrArr[2].localeCompare(nStrArr[4])// -1 nStrArr[2].localeCompare(nStrArr[0],{},{numeric:true})// 1 nStrArr[2].localeCompare(nStrArr[1],{},{numeric:true})// 1 nStrArr[2].localeCompare(nStrArr[2],{},{numeric:true})// 0 nStrArr[2].localeCompare(nStrArr[3],{},{numeric:true})// -1 nStrArr[2].localeCompare(nStrArr[4],{},{numeric:true})// -1
15、toLowerCase() / toUpperCase()
功能:把字符串转换为小写/大写。
语法:str.toLowerCase() / str.toUpperCase()
参数:无/无
返回值:一个新的字符串。
示例:
var str = 'Hello World';
console.log(str.toLowerCase()); //hello world
console.log(str.toUpperCase()); //HELLO WORLD
16、toLocaleLowerCase() / toLocaleUpperCase()
功能:根据本地环境把字符串转换为小写/大写。
语法:
- 默认本地环境:str.toLocaleLowerCase() / str.toLocaleUpperCase()。
- 单语言环境:str.toLocaleLowerCase(locale) / str.toLocaleUpperCase(locale)。
- 多语言环境:str.toLocaleLowerCase([locale, locale, ...]) / str.toLocaleUpperCase([locale, locale, ...])。
参数:locale,要转换成小写/大写格式的特定语言环境。
返回值:一个新的字符串。
示例:
var str = 'Hello World'; console.log(str.toLocaleLowerCase()); //hello world console.log(str.toLocaleLowerCase('TR')); //hello world console.log(str.toLocaleLowerCase(['lt', 'LT', 'lt-LT', 'lt-u-co-phonebk', 'lt-x-lietuva'])); //hello world console.log(str.toLocaleUpperCase()); //HELLO WORLD console.log(str.toLocaleUpperCase('en-US')); //HELLO WORLD console.log(str.toLocaleUpperCase(['lt', 'LT', 'lt-LT', 'lt-u-co-phonebk', 'lt-x-lietuva'])); //HELLO WORLD
17、includes()
功能:判断 str 中是否有指定字符串。
语法:str.includes(searchString[, position])。
参数:
- searchString:要在 str 中查找的字符串。
- position:可选。从哪个索引位置开始查找,默认值为0,传负值当0。
返回值:str 中有指定字符串,返回 true,没有返回 false。
示例:
var str = '小强今晚再打tiger'; str.includes('小明')// false str.includes('今晚')// true str.includes('今晚',1)// false str.includes('再')// true str.includes('再',6)// true str.includes('打')// true str.includes('打',9)// false str.includes('老虎')// false str.includes('tiger',6)// true str.includes('tiger',-2)// true str.includes('tiger',-999)// true
18、repeat()
功能:返回指定重复次数的字符串。
语法:str.repeat(count)
参数:count,重复的次数。
返回值:包含指定字符串的指定数量副本的新字符串,不改变原 str 。
示例:
var str = 'abcd' str.repeat()// "" str.repeat(0)// "" str.repeat('')// "" str.repeat(3)// "abcdabcdabcd" str.repeat('2')// "abcdabcd" str.repeat(-1)// Uncaught RangeError: Invalid count value
19、startsWith()
功能:判断 str 是否以指定字符串开头。
语法:str.startsWith(searchString[, position])
参数:
- searchString:要查找的子字符串。
- position 可选:在 str 中查找 searchString 的开始位置,默认值为 0。
返回值:str 以指定字符串开头返回true,否则返回false
示例:
var str = '小强今晚再打tiger'; str.startsWith()//false str.startsWith('')// true str.startsWith('',3)// true str.startsWith('',str.length+999)// true str.startsWith('小强',str.length+999)// false str.startsWith('小强')// true str.startsWith('小强',5)// false str.startsWith('打tiger',5)// true str.startsWith('打tiger',-5)// false str.startsWith('打tiger',-6)// false str.startsWith('打tiger',str.length-6)// true
20、 endsWith()
功能:判断 str 是否以指定字符串结尾。
语法:str.endsWith(searchString[, length])
参数:
- searchString:要查找的子字符串。
- length:可选。从 str 索引0开始查找的字符串长度。默认值为 str.length。
返回值:str 以指定字符串结尾返回true,否则返回false
示例:
var str = '小强今晚再打tiger'; str.endsWith()//false str.endsWith('')// true str.endsWith('',3)// true str.endsWith('',str.length+999)// true str.endsWith('',str.length-999)// true 只要第一个参数为空字符串都返回true str.endsWith('打tiger',str.length+999)// true str.endsWith('ger')// true str.endsWith('ger',5)// false 第二个参数指定为5,即判断 '小强今晚再' 是否以ger结尾,实则是以'再'结尾,返回false str.endsWith('小强今晚',3)// false str.endsWith('小强今晚',4)// true str.endsWith('小强今晚',4.000000001)// true 结合上下例子可以看出length进行了取整 str.endsWith('小强今晚',4.999999)// true str.endsWith('小强今晚',5)// false str.endsWith('打tiger',-6)// false 第二个参数负值都返回false str.endsWith('打tiger',str.length-6)// false str.endsWith('再',str.length-6)// true str.endsWith('打tiger',str.length)// true
21、padStart() / padEnd()
功能:从 str 开头 / 结尾 重复填充指定字符串,直到指定的填充后的长度。
语法:str.padStart(targetLength [, padString]) / str.padEnd(targetLength [, padString])
参数:
- targetLength:返回的填充后的新字符串长度。小于 str.length 时,则返回 str 本身。
- padString:可选,填充字符串。如果字符串太长,使填充后的字符串长度超过了 str.length,则只保留最 左侧 / 右侧 的部分,其他部分会被截断。不传此参数默认为空字符串。
返回值:从 str 开头 / 结尾 填充指定的字符串直到指定长度,并返回填充后的新字符串。
示例:
var str = 'abc' str.padStart()// "abc" // str.padStart(10)// " abc" // str.padStart(10,'123')// "1231231abc" // str.padStart(0,'123')// "abc" // str.padStart(str.length,'123')// "abc" // str.padStart(str.length+5,'123')// "12312abc" var str = 'abc' str.padEnd()// "abc" str.padEnd(10)// "abc " str.padEnd(10,'123')// "abc1231231" str.padEnd(0,'123')// "abc" str.padEnd(str.length,'123')// "abc" str.padEnd(str.length+5,'123')// "abc12312"
String.prototype 常用方法功能分类
- 首尾去空:trim()
- 正则匹配:match()
- 截成数组:split()
- 链接字符:concat()
- 重复字符:repeat()
- 替换字符:replace()
- 对比字符:localeCompare()
- 截取字符:slice()、substr()、substring()
- 检测字符:includes()、startsWith() 、endsWith()
- 获取字符、编码:charAt()、charCodeAt()
- 获取索引:indexOf()、lastIndexOf()、search()
- 前后填充:padStart()、padEnd()
- 大小写转换:toLowerCase()、toUpperCase()、toLocaleLowerCase()、toLocaleUpperCase()
JavaScript 中的三大对象 (本地对象、内置对象、 宿主对象)
本地对象
- Object 对象属性和方法
- String 对象属性和方法
- Array 对象属性和方法
- Date 对象属性和方法
- Number 对象属性和方法
- RegExp 对象属性和方法
- Function 对象属性和方法
- Boolean 对象属性和方法
- Error 对象属性和方法
内置对象
宿主对象