我是小又又,住在武汉,做了两年新媒体,准备用 6 个月时间转行前端。
今日学习目标
昨天基于一些页面搜索,学习了《JavaScirpt 高级程序设计》(第三版) 第 3 章节中的 ES 基础概念中基础数据类型,昨天其实有看到 String 有很多方法和属性,所以,今天主要是基于搜索来仔细学习 String 数据类型,又是适合学习的一天,加油,小又又!!!!
今日学习概要
主要是从下面几个方面详细学习 字符串 数据类型
字符串定义 字符串的属性 字符串的柔和方法 字符串的强硬方法 对象通用方法 字符串字面量的原型方法 字符串方法总结
今天,小又又尝试了一个不太同的描述方式,花了很多时间,查了资料,将多个页面进行整理归纳,期望大家能够接受~~~~
这边推荐一个网站,也是今天在 MDN JS Shells 中看到的推荐 jsconsole ~~~~~
同样由于字数问题,今天文章分了三篇上传~~~~
上篇是包括(字符串定义,字符串的属性,字符串的柔和方法部分方法) 中篇是包括(字符串的柔和方法部分方法) 下篇是包括(字符串的柔和方法部分方法,字符串的强硬方法和对象通用方法,字符串字面量的原型方法,字符串方法总结和今日总结)
比较
概述
方法名
描述
参数
localeCompare(stringExp[, locales][, options])
返回一个数字,表示是否引用字符串在排序中位于比较字符串的前面,后面,或者二者相同。新的 locales
、 options
参数能让应用程序定制函数的行为即指定用来排序的语言。 locales
和 options
参数是依赖于具体实现的,在旧的实现中这两个参数是完全被忽略的。
@param stringExp 必需。用于比较的字符串。@param locales 可选。包含一种或多种语言或区域设置标记的区域设置字符串数组。如果包含多个区域设置字符串,请以降序优先级对它们进行排列,确保首个条目为首选区域位置。如果省略此参数,则使用 JavaScript 运行时的默认区域设置。此参数必须符合 BCP 47 标准;请参见 Intl.Collator 对象了解详细信息。@param options 可选。包含指定比较选项的一个或多个特性的对象。请参见 Intl.Collator 对象了解详细信息。
详细方法
1) localeCompare(stringExp[, locales][, options])
除了Safari
之外,Internet Explorer 11
(只有ie11这个版本) ,Chrome
,Firefox (Gecko)
和Opera
都支持localeCompare
在内部使用 Intl.Collator
对象进行比较,添加对 locales
和 options
参数的支持。 所有浏览器都支持localeCompare
的基础功能。 返回一个数字表示是否 引用字符串
在排序中位于 比较字符串
的前面
,后面
,或者二者相同
。 当 引用字符串 在 比较字符串 前面时返回 -1
。 当 引用字符串 在 比较字符串 后面时返回 1
。 相同位置时返回 0
。 切勿依赖于 -1
或 1
这样特定的返回值。不同浏览器之间(以及不同浏览器版本之间) 返回的正负数的值各有不同
,因为W3C规范中只要求返回值是正值
和负值
,而没有规定具体的值
。一些浏览器可能返回-2
或2
或其他一些负的、正的值
。 把 <
和 >
运算符应用到字符串时,它们只用字符的 Unicode 编码比较字符串,而不考虑当地的排序规则。 以这种方法生成的顺序不一定是正确的。 ECMAscript
标准并没有规定如何进行本地特定的比较操作,它只规定该函数采用底层操作系统提供的排序规则。可以用于有多个字符串的数组进行排序
使用方法
结果
strString.localeCompare("llo")
-1
oString_1.localeCompare("A")
1
tString_1.localeCompare("Tem")
-1
strString.localeCompare("llo")
-1
oString_3.localeCompare("Fifteen")
1
tString_1.localeCompare("Tem")
-1
第一个参数错误示例
如果不传入任何参数,localeCompare
会直接返回负值。 就目前测试的相关数据结果表现,不管字符串中是什么内容,传入什么样的正则值,或者传入制表符,空格,和换行符等等特殊字符,localeCompare
都会返回正值。 如果以字符串本身传入localeCompare
,会直接返回0
。 进行匹配的时候,只要原始值是定义好的,没加双引号都可以被正常检测出来。
使用方法
结果
strString.localeCompare()
-1
oString.localeCompare(/\s/)
1
oString_1.localeCompare(/\s/)
1
tString_1.localeCompare(/\s/)
1
tString_2.localeCompare(/\s/)
1
tString_3.localeCompare(/\s/)
1
tString_4.localeCompare(/\s/)
1
strString.localeCompare(/\n/)
1
strString.localeCompare(/\t/)
1
strString.localeCompare(/hello little/)
1
strString.localeCompare(/大吉大利/)
1
tString_2.localeCompare(" ")
1
tString_2.localeCompare(" ")
1
tString_2.localeCompare(" ")
1
tString_2.localeCompare(" ")
1
tString_2.localeCompare(" ")
1
strString.localeCompare(strString)
0
"true".localeCompare(true)
0
"true".localeCompare("true")
0
"true".localeCompare(oBool)
0
"false".localeCompare(false)
0
"false".localeCompare("false")
0
"false".localeCompare(oBool)
-1
"null".localeCompare(null)
0
"null".localeCompare("null")
0
"undefined".localeCompare(undefined)
0
"undefined".localeCompare("undefined")
0
"NaN".localeCompare(NaN)
0
"NaN".localeCompare("NaN")
0
numeric参数用法
使用方法
结果
"1".localeCompare("2")
-1
"1".localeCompare("2","kn",{numeric:"true"})
-1
"1".localeCompare("2","language-region-u-kn-true",{numeric:"true"})
-1
"1".localeCompare("16")
-1
"1".localeCompare("16","kn",{numeric:"true"})
-1
"1".localeCompare("16","language-region-u-kn-true",{numeric:"true"})
-1
"2".localeCompare("16")
1
"2".localeCompare("16","kn",{numeric:"true"})
-1
"2".localeCompare("16","language-region-u-kn-true",{numeric:"true"})
-1
sensitivity参数用法
使用方法
结果
"a".localeCompare("b")
-1
"a".localeCompare("b","language-region-u-search",{sensitivity:"base"})
-1
"a".localeCompare("b","language-region-u-search",{sensitivity:"accent"})
-1
"a".localeCompare("b","language-region-u-search",{sensitivity:"case"})
-1
"a".localeCompare("b","language-region-u-search",{sensitivity:"variant"})
-1
"a".localeCompare("á")
-1
"a".localeCompare("á","language-region-u-search",{sensitivity:"base"})
0
"a".localeCompare("á","language-region-u-search",{sensitivity:"accent"})
-1
"a".localeCompare("á","language-region-u-search",{sensitivity:"case"})
0
"a".localeCompare("á","language-region-u-search",{sensitivity:"variant"})
-1
"a".localeCompare("A")
-1
"a".localeCompare("A","language-region-u-search",{sensitivity:"base"})
0
"a".localeCompare("A","language-region-u-search",{sensitivity:"accent"})
0
"a".localeCompare("A","language-region-u-search",{sensitivity:"case"})
-1
"a".localeCompare("A","language-region-u-search",{sensitivity:"variant"})
-1
caseFirst参数用法
使用方法
结果
"a".localeCompare("A")
-1
"a".localeCompare("A","kf",{caseFirst:"upper"})
-1
"a".localeCompare("A","language-region-u-kf-upper",{caseFirst:"upper"})
1
"a".localeCompare("A","language-region-u-kf-lower",{caseFirst:"upper"})
1
"a".localeCompare("A","language-region-u-kf-false",{caseFirst:"upper"})
1
"a".localeCompare("A","kf",{caseFirst:"lower"})
-1
"a".localeCompare("A","language-region-u-kf-upper",{caseFirst:"lower"})
-1
"a".localeCompare("A","language-region-u-kf-lower",{caseFirst:"lower"})
-1
"a".localeCompare("A","language-region-u-kf-false",{caseFirst:"lower"})
-1
"a".localeCompare("A","kf",{caseFirst:"false"})
-1
"a".localeCompare("A","language-region-u-kf-upper",{caseFirst:"false"})
-1
"a".localeCompare("A","language-region-u-kf-lower",{caseFirst:"false"})
-1
"a".localeCompare("A","language-region-u-kf-false",{caseFirst:"false"})
-1
2) Intl.Collator([locales[, options]])
是用于语言敏感字符串比较的collators
构造函数。
locales
可选.locales
参数必须是一个 BCP 47 语言标记
的字符串,或者是一个包括多个语言标记
的数组。如果 locales
参数未提供或者是 undefined
,便会使用运行时默认的 locale
。
一个 BCP 47 语言标记
代表了一种语
言或者区域
(两者没有很大的区别)。在其最常见的格式中,它以这样的顺序囊括了这些内容:语言代码
,脚本代码
,和国家代码
,全部由连字符
分隔开。
"hi":印地语 "de-AT":在奥地利使用的德语 "zh-Hans-CN":在中国使用的中文简体
在 BCP 47
中表示语言,脚本,国家(区域)和变体(少用)的语言子标记含义可以在 IANA语言 子标记注册中找到。BCP 47
也支持扩展,其中一个和 JavaScript
国际化方法相关的是:u
(Unicode)扩展。它可以用于请求一个自定义区域
特定行为的 Collator
,NumberFormat
,或者 DateTimeFormat
对象。
"de-DE-u-co-phonebk":使用德语的电话簿排序变体,这会把元音变音扩展成字符对:ä → ae, ö → oe, ü → ue。
"th-TH-u-nu-thai":在数字格式中使用泰语的数值表示(๐, ๑, ๒, ๓, ๔, ๕, ๖, ๗, ๘, ๙)
"ja-JP-u-ca-japanese":在日期和时间格式化中使用日本的日历表示方式,所以 2013 会表示为平成 25。
语言区域判定
locales
参数,在除去所有的 Unicode
扩展之后,会被转化成来自应用的优先请求。运行时拿它和可用的语言区域做对比然后选择出最合适的一个。有两种匹配算法:查找
匹配遵循 BCP 47
中指定的查找算法。最佳命中
匹配器会让运行时至少提供一个语言区域
,但合适请求的结果可能会比查找算法的要多。如果应用没有提供一个 locales
参数,或者运行时没有一个匹配请求的语言区域,那么会使用运行时默认的语言区域。 如果选中的语言标记有一个 Unicode
扩展子字符串,这个扩展会用于自定义构造对象或者方法的行为。每一个构造函数或者方法仅支持 Unicode
扩展定义的 key
的一个子集,和依赖于语言标记的支持的值。例如,co
这个 key(collation)只在 Collator
中支持,它的值 phonebk
只在德语
中支持。 关于参数 locales
的一般形式和解释请参见Intl page . 下面的这些 Unicode
扩展键也是被允许的:
co
某些区域设置的变体归类。 可能的值包括:big5han
,dict
,direct
,ducet
,gb2312
,phonebk
,phonetic
,pinyin
,reformed
,searchjl
,stroke
,unihan
。值standard
和 search
被忽略。 kn
是否应使用数字对照,使得 1
<2
<10
。 可能的值为 true
和 false
。 此选项可以通过 options
属性或通过 Unicode
扩展 key
设置; 如果两者都提供,options
属性优先。 kf
首先排序大写或者小写。可能的值为 upper
,lower
或 false
(使用区域设置的默认值)。 此选项可以通过 options
属性或通过 Unicode
扩展 key
设置; 如果两者都提供,options
属性优先。
options
options
参数必须是一个对象,其属性值在不同的构造函数和方法中会有所变化。如果 options
参数未提供或者为 undefined
,所有的属性值则使用默认的。
所有语言敏感的构造函数和方法都支持的一个属性是:localeMatcher
属性,它的值必须是字符串 lookup
或者 best fit
,用于选择上边描述的语言区域匹配算法。包含一些或所有的下面属性的对象:
localeMatcher
使用的 local
的匹配算法. 可能的值有lookup
和 best fit
,默认值是 best fit
. 有关此选项的信息。 usage
比较是用于排序还是用于搜索匹配的字符串。 可能的值为 sort
和 search
; 默认为 sort
。 sensitivity
字符串中的哪些差异应导致结果值为非零(non-zero)。 可能的值有:
base
: 只有字母不同的字母比较不相等。例子: a ≠ b, a = á, a = A。
accent
: 只有不同的基本字母或重音符号和其他变音符号的字符串比较为不相等。 例如: a ≠ b, a ≠ á, a = A。
case
: 只有不同的基本字母或大小写的字符串比较不相等。 Examples: a ≠ b, a = á, a ≠ A。
variant
: 字符串的字母,口音和其他变音符号、或不同大小写比较不相等。 也可以考虑其他差异。例如: a ≠ b, a ≠ á, a ≠ A.
默认值使用 sort
; 它的 locale
依赖于使用 search
. ignorePunctuation
是否应忽略标点。 可能的值为 true
和 false
; 默认值为 false
。 numeric
是否应使用数字对照,使得 1
<2
<10
。 可能的值为 true
和 false
。默认值为 false
。 此选项可以通过 options
属性或通过 Unicode
扩展 key
设置。如果两者都提供,options
属性优先。 caseFirst
首先排序大写或者小写。可能的值为 upper
,lower
或 false
(使用区域设置的默认值)。 此选项可以通过 options
属性或通过 Unicode
扩展 key
设置。 如果两者都提供,options
属性优先。
基础用法
使用方法
结果
new Intl.Collator().compare('a', 'c')
-1
new Intl.Collator().compare('c', 'a')
1
new Intl.Collator().compare('a', 'a')
0
拼接
概述
方法名
描述
参数
concat(string2, string3[, ..., stringN])
连接两个字符串文本,并返回一个新的字符串。
@param string2...stringN 和原字符串连接的多个字符串
padEnd(targetLength [, padString])
从给定字符串的末端填充当前字符串,以从给定长度创建新字符串。
@param targetLength 当前字符串需要填充到的目标长度。如果这个数值小于当前字符串的长度,则返回当前字符串本身。 @param padString (可选) 填充字符串。如果字符串太长,使填充后的字符串长度超过了目标长度,则只保留最左侧的部分,其他部分会被截断。此参数的缺省值为 " "(U+0020)。返回值,在原字符串末尾填充指定的填充字符串直到目标长度所形成的新字符串。
padStart(targetLength [, padString])
从一个给定字符串开始填充当前字符串,从给定长度创建一个新字符串。
@param targetLength 当前字符串需要填充到的目标长度。如果这个数值小于当前字符串的长度,则返回当前字符串本身。 @param padString (可选) 填充字符串。如果字符串太长,使填充后的字符串长度超过了目标长度,则只保留最左侧的部分,其他部分会被截断。此参数的缺省值为 " "(U+0020)。返回值,在原字符串末尾填充指定的填充字符串直到目标长度所形成的新字符串。
repeat(count)
返回指定重复次数的由元素组成的字符串对象。
@param count 介于0和正无穷大之间的整数 : [0, +∞) 。表示在新构造的字符串中重复了多少遍原字符串。
quote()
已废弃
,用双引号(``)包装字符串。
无
详细方法
1) concat(string2, string3[, ..., stringN])
concat
方法的结果等同于:result = string1 + string2 + string3 + stringN
,即将一个或多个字符串与原字符串
连接合并,形成一个新的字符串并返回。concat
方法并不影响原字符串,原字符串中或结果字符串中的值的变化都不会影响另一个字符串中的值。如果有不是字符串的参数,则它们在连接到 varName
之前将首先被转换为字符串。
正确用法
使用方法
结果
oString.concat()
hello little
oString.concat("")
hello little
oString.concat("hell",1))
hello littlehell1
oString.concat("hell",0.1))
hello littlehell0.1
oString.concat("hell",0.5))
hello littlehell0.5
oString.concat("hell",0.8))
hello littlehell0.8
错误用法和特殊字符
不传参数和传空字符串都是会正常返回字符串原值。 对于特殊字符都可以正常拼接,如果传入的不是字符串类型,会先转成字符串类型,然后再做处理。 对于数字0,会去掉小数位和正负号
使用方法
结果
oString.concat()
hello little
oString.concat("")
hello little
oString.concat(true)
hello littletrue
oString.concat("true")
hello littletrue
oString.concat(oBool)
hello littletrue
oString.concat(false)
hello littlefalse
oString.concat("false")
hello littlefalse
oString.concat(null)
hello littlenull
oString.concat("null")
hello littlenull
oString.concat(undefined)
hello littleundefined
oString.concat("undefined")
hello littleundefined
oString.concat(NaN)
hello littleNaN
oString.concat("NaN")
hello littleNaN
oString.concat(Number.NaN)
hello littleNaN
oString.concat(oo)
hello littlehell[object Object]
oString.concat(oArray)
hello littledemo,little,you
oString.concat(oDate)
hello littleSun May 03 2020 21:44:58 GMT+0800 (中国标准时间)
oString.concat(Number.MAX_VALUE)
hello littlehell1.7976931348623157e+308
oString.concat(Number.MIN_VALUE)
hello littlehell5e-324
oString.concat(Number.NEGATIVE_INFINITY)
hello littlehell-Infinity
oString.concat(Number.POSITIVE_INFINITY)
hello littlehellInfinity
oString.concat("hell",0.0))
hello littlehell0
oString.concat("hell",-0))
hello littlehell0
2) padEnd(targetLength [, padString])
使用方法
结果
varName.padEnd(20)
hello little
3) padStart(targetLength [, padString])
使用方法
结果
varName.padStart(20)
hello little
4) repeat(count)
使用方法
结果
varName.repeat(5)
hello littlehello littlehello littlehello littlehello little
5) quote()
使用方法
结果
varName.quote()
oString.quote is not a function
大小写转换
概述
方法名
描述
参数
toLowerCase()
将字符串转换成小写并返回。
无
toLocaleLowerCase()
根据当前区域设置,将符串中的字符转换成小写。对于大多数语言来说,toLowerCase的返回值是一致的。
无
toUpperCase()
将字符串转换成大写并返回。
无
toLocaleUpperCase()
根据当前区域设置,将字符串中的字符转换成大写,对于大多数语言来说,toUpperCase的返回值是一致的。
无
详细方法
1) toLowerCase()
使用方法
结果
varName.toLowerCase()
hello little
2) toLocaleLowerCase()
使用方法
结果
varName.toLocaleLowerCase()
hello little
3) toUpperCase()
使用方法
结果
varName.toUpperCase()
HELLO LITTLE
4) toLocaleUpperCase()
使用方法
结果
varName.toLocaleUpperCase()
HELLO LITTLE
字符串对象的强硬方法
强制类型转化
方法名
描述
使用方法
String
强制类型转化,将其他类型的变量转化成String
类型
String(varName)
参数值
举例
转换结果
负数
-1
-1
空
null
null
未定义
undefined
undefined
非数值
NaN
NaN
对象
new Object()
[object Object]
console .log(String (-0 ))
console .log(String (-1 ))
console .log(String (null ))
console .log(String (undefined ))
console .log(String (NaN ))
console .log(String (new Object ()))
console .log(String (new Boolean ()))
console .log(String (new Number ()))
console .log(String (new String ()))
console .log(String (new Array ()))
console .log(String (new Date ()))
替换
概述
方法名
描述
参数
replace(regexp
substr, newSubStr
function)
详细方法
1) replace(regexp|substr, newSubStr|function)
使用方法
结果
varName.replace("hello","hello~~~~")
hello~~~~ little
分割
概述
方法名
描述
参数
slice(beginIndex[, endIndex])
摘取一个字符串区域,返回一个新的字符串。
@param beginIndex 从该索引(以 0 为基数)处开始提取原字符串中的字符。如果值为负数,会被当做 strLength + beginIndex 看待,这里的strLength 是字符串的长度(例如, 如果 beginIndex 是 -3 则看作是:strLength - 3)。 @param endIndex可选。在该索引(以 0 为基数)处结束提取字符串。如果省略该参数,slice() 会一直提取到字符串末尾。如果该参数为负数,则被看作是 strLength + endIndex,这里的 strLength 就是字符串的长度(例如,如果 endIndex 是 -3,则是, strLength - 3)。
split([separator[, limit]])
通过分离字符串成字串,将字符串对象分割成字符串数组。
@param separator 指定表示每个拆分应发生的点的字符串。separator 可以是一个字符串或正则表达式。 如果纯文本分隔符包含多个字符,则必须找到整个字符串来表示分割点。如果在str中省略或不出现分隔符,则返回的数组包含一个由整个字符串组成的元素。如果分隔符为空字符串,则将str原字符串中每个字符的数组形式返回。@param limit 一个整数,限定返回的分割片段数量。当提供此参数时,split 方法会在指定分隔符的每次出现时分割该字符串,但在限制条目已放入数组时停止。如果在达到指定限制之前达到字符串的末尾,它可能仍然包含少于限制的条目。新数组中不返回剩下的文本。
substr(start[, length])
不推荐使用
,通过指定字符数返回在指定位置开始的字符串中的字符。
@param start 开始提取字符的位置。如果为负值,则被看作 strLength + start,其中 strLength 为字符串的长度(例如,如果 start 为 -3,则被看作 strLength + (-3))。@param length 可选。提取的字符数。
substring(indexStart[, indexEnd])
返回在字符串中指定两个下标之间的字符。
@param indexStart 需要截取的第一个字符的索引,该索引位置的字符作为返回的字符串的首字母。@param indexEnd 可选。一个 0 到字符串长度之间的整数,以该数字为索引的字符不包含在截取的字符串内。
详细方法
1) slice(beginIndex[, endIndex])
使用方法
结果
varName.slice(1)
ello little
2) split([separator[, limit]])
使用方法
结果
varName.split()
[ h,e,l,l,o, ,l,i,t,t,l,e]
3) substr(start[, length])
使用方法
结果
varName.substr(1,3)
ell
4) substring(indexStart[, indexEnd])
使用方法
结果
varName.substring(1,3)
el
格式转化
概述
方法名
描述
参数
trim()
从字符串的开始和结尾去除空格。参照部分 ECMAScript 5 标准。
无
trimLeft()
从字符串的左侧去除空格。
无
trimRight()
从字符串的右侧去除空格。
无
详细方法
1) trim()
使用方法
结果
varName.trim()
hello little
2) trimLeft()
使用方法
结果
varName.trimLeft()
hello little
3) trimRight()
使用方法
结果
varName.trimRight()
hello little
对象通用方法
概述
方法名
描述
参数
toString()
不推荐使用
,返回用字符串表示的特定对象。重写 Object.prototype.toString 方法。
无
toLocaleString()
不推荐使用
,返回用字符串表示的特定对象。
无
valueOf()
不推荐使用
, 返回特定对象的原始值。重写 Object.prototype.valueOf 方法。
无
[@@iterator]()
不推荐使用
,返回一个新的迭代器对象遍历一个字符串值的代码,每个代码点返回一个字符串值。
无
propertyIsEnumerable()
不推荐使用
无
详细方法
1) toString()
使用方法
结果
varName.toString()
hello little
2) toLocaleString()
使用方法
结果
varName.toLocaleString()
hello little
3) valueOf()
使用方法
结果
varName.valueOf()
hello little
4) [@@iterator]()
5) propertyIsEnumerable()
使用方法
结果
varName.propertyIsEnumerable()
false
字符串字面量的原型方法
概述
方法名
描述
参数
raw(callSite, ...substitutions)
一个模板字符串的标签函数,它的作用类似于 Python 中的字符串前缀 r 和 C# 中的字符串前缀 @,是用来获取一个模板字符串的原始字面量值的。
@param1 callSite 一个模板字符串的 调用点对象
。@param2 ...substitutions 任意个可选的参数,表示任意个内插表达式对应的值。
详细
1) raw()
如果第一个参数没有传入一个格式良好的调用点对象,则会抛出 TypeError 异常。
使用方法
结果
objectName.raw(callSite, ...substitutions)
你好,我是小又又!
总结
返回值为字符串的方法
方法名
描述
参数
big()
不推荐使用
,把字符串显示为大号字体,只在页面中才会有大两个字体号效果。
无
small()
不推荐使用
, 把字符串显示为小号字体,只在页面中才会有小两个字体号效果。
无
blink()
不推荐使用
, 把字符串显示闪动的字符串,目前没有看到有浏览器支持
无
bold()
不推荐使用
, 把字符串显示粗体的字符串,只在页面中才会有粗体效果,IE不兼容。
无
italics()
不推荐使用
,把字符串显示为斜体,只在页面中才会有效果。
无
strike()
不推荐使用
, 把字符串显示为加了删除线的字符串,只在页面中才会有效果。
无
fixed()
不推荐使用
, 把字符串显示为打字机文本显示的字符串,只在页面中才会有效果。
无
sub()
不推荐使用
,把字符串显示为下标,只在页面中才会有效果。
无
sup()
不推荐使用
, 把字符串显示为上标,只在页面中才会有效果。
无
anchor(anchorname)
不推荐使用
,创建 HTML
锚。将字符串输出为有唯一标识的纯粹a
标签,只在页面中才会有效果。
@param anchorname 必需,为锚定义名称。如果没有传入参数,则会输出一个 name
属性为undefined
的a
标签。
link(url)
不推荐使用
, 把字符串显示为链接,只在页面中才会有效果。如果没有传入参数,则会输出一个href属性为undefined
的a标签。
@param url必需,规定要链接的 URL。
fontcolor(color)
不推荐使用
,返回指定的颜色的字符串。只在页面中才会有效果如果没有传入参数,则会输出一个color
属性为undefined
的font标签。
@param color必需。为字符串规定 font-color。该值必须是颜色名(red)、RGB 值(rgb(255,0,0))或者十六进制数(#FF0000)。
fontsize(size)
不推荐使用
, 返回指定的字体大小的字符串。只在页面中才会有效果。如果没有传入参数,则会输出一个size
属性为undefined
的font
标签。
@param size 参数必须是从 1 至 7 的数字,数字越大字体越大。
charAt(index)
返回特定位置的字符,不提供参数就返回第一个字符的字符,提供游标值,就返回指定游标的字符
@param index 非必需,一个介于0 和字符串长度减1之间的正整数。 (0~varName.length-1)。
normalize([form])
测试中
, 返回调用字符串值的Unicode标准化形式。
@param form 四种 Unicode 正规形式 "NFC", "NFD", "NFKC", 以及 "NFKD" 其中的一个, 默认值为 "NFC".
fromCharCode(num1, ..., numN)
返回一个字符串,而不是一个 String 对象。由于 fromCharCode 是 String 的静态方法,所以应该像这样使用:String.fromCharCode(),而不是作为你创建的 String 对象的方法。
@param num1, ..., numN 一组序列数字,表示 Unicode 值。
fromCodePoint(num1, …, numN)
不推荐使用
, 返回使用 Unicode 编码创建的字符串,如果传入无效的 Unicode 编码,将会抛出一个RangeError (例如: "RangeError: NaN is not a valid code point")。
@param num1, ..., numN 一组序列数字,表示 Unicode 值。
concat(string2, string3[, ..., stringN])
连接两个字符串文本,并返回一个新的字符串。
@param string2...stringN 和原字符串连接的多个字符串
padEnd(targetLength [, padString])
从给定字符串的末端填充当前字符串,以从给定长度创建新字符串。
@param targetLength 当前字符串需要填充到的目标长度。如果这个数值小于当前字符串的长度,则返回当前字符串本身。 @param padString (可选) 填充字符串。如果字符串太长,使填充后的字符串长度超过了目标长度,则只保留最左侧的部分,其他部分会被截断。此参数的缺省值为 " "(U+0020)。返回值,在原字符串末尾填充指定的填充字符串直到目标长度所形成的新字符串。
padStart(targetLength [, padString])
从一个给定字符串开始填充当前字符串,从给定长度创建一个新字符串。
@param targetLength 当前字符串需要填充到的目标长度。如果这个数值小于当前字符串的长度,则返回当前字符串本身。 @param padString (可选) 填充字符串。如果字符串太长,使填充后的字符串长度超过了目标长度,则只保留最左侧的部分,其他部分会被截断。此参数的缺省值为 " "(U+0020)。返回值,在原字符串末尾填充指定的填充字符串直到目标长度所形成的新字符串。
repeat(count)
返回指定重复次数的由元素组成的字符串对象。
@param count 介于0和正无穷大之间的整数 : [0, +∞) 。表示在新构造的字符串中重复了多少遍原字符串。
返回值为数值的方法
方法名
描述
参数
charCodeAt(index)
返回0到65535之间的整数,表示给定索引处的UTF-16
代码单元 (在 Unicode
编码单元表示一个单一的 UTF-16
编码单元的情况下,UTF-16
编码单元匹配 Unicode
编码单元。但在——例如 Unicode
编码单元 > 0x10000
的这种——不能被一个 UTF-16
编码单元单独表示的情况下,只能匹配 Unicode
代理对的第一个编码单元) 。
@param index 一个大于等于 0,小于字符串长度的整数。(0~varName.length-1),如果不是一个数值,则默认为 0。
codePointAt(pos)
不推荐使用
, 返回使用UTF-16编码的给定位置的值的非负整数。
@param pos 这个字符串中需要转码的元素的位置。
indexOf(searchValue[, fromIndex])
从字符串对象中返回首个被发现的给定值的索引值开始在 fromIndex进行搜索。如果未找到该值,则返回-1。
@param searchValue 一个字符串表示被查找的值。@param fromIndex 可选 表示调用该方法的字符串中开始查找的位置。可以是任意整数。默认值为 0。如果 fromIndex < 0 则查找整个字符串(如同传进了 0)。如果 fromIndex >= varName.length,则该方法返回 -1,除非被查找的字符串是一个空字符串,此时返回 varName.length。
lastIndexOf(searchValue[, fromIndex])
返回指定值在调用该方法的字符串中最后出现的位置,如果没找到则返回 -1。从该字符串的后面向前查找,从 fromIndex 处开始。
@param searchValue 一个字符串,表示被查找的值。@param fromIndex 从调用该方法字符串的此位置处开始查找。可以是任意整数。默认值为 str.length。如果为负值,则被看作 0。如果 fromIndex > str.length,则 fromIndex 被看作 str.length。
search(regexp)
对正则表达式和指定字符串进行匹配搜索,返回第一个出现的匹配项的下标。如果匹配成功,则 search() 返回正则表达式在字符串中首次匹配项的索引。否则,返回 -1。
@param regexp 一个正则表达式(regular expression)对象。如果传入一个非正则表达式对象,则会使用 new RegExp(obj) 隐式地将其转换为正则表达式对象。
localeCompare(stringExp[, locales][, options])
返回一个数字,表示是否引用字符串在排序中位于比较字符串的前面,后面,或者二者相同。新的 locales
、 options
参数能让应用程序定制函数的行为即指定用来排序的语言。 locales
和 options
参数是依赖于具体实现的,在旧的实现中这两个参数是完全被忽略的。
@param stringExp 必需。用于比较的字符串。@param locales 可选。包含一种或多种语言或区域设置标记的区域设置字符串数组。如果包含多个区域设置字符串,请以降序优先级对它们进行排列,确保首个条目为首选区域位置。如果省略此参数,则使用 JavaScript 运行时的默认区域设置。此参数必须符合 BCP 47 标准;@param options 可选。包含指定比较选项的一个或多个特性的对象。请参见 [Intl.Collator] msdn.microsoft.com/zh-cn/libra… 对象了解详细信息。
返回值为布尔值的方法
方法名
描述
参数
includes(searchString[, position])
判断一个字符串是否包含在另一个字符串中,根据情况返回true或false。
@param searchString 要在此字符串中搜索的字符串。@param position 可选。从当前字符串的哪个索引位置开始搜寻子字符串;默认值为0。
startsWith(searchString [, position])
判断字符串的起始位置是否匹配其他字符串中的字符。
@param searchString 要搜索的子字符串。@param position 在 varName 中搜索 searchString 的开始位置,默认值为 0,也就是真正的字符串开头处。
endsWith(searchString [, position])
判断一个字符串的结尾是否包含其他字符串中的字符。
@param searchString 要搜索的子字符串。@param position 在 varName 中搜索 searchString 的结束位置,默认值为 varName.length,也就是真正的字符串结尾处。
返回值为数组的方法
方法名
描述
参数
match(regexp)
将字符串与正则表达式匹配,并返回一个包含该搜索结果的数组。返回值array,一个包含了整个匹配结果以及任何括号捕获的匹配结果的 Array ;如果没有匹配项,则返回 null 。
@param regexp 一个正则表达式对象。如果传入一个非正则表达式对象,则会隐式地使用 new RegExp(obj) 将其转换为一个 RegExp 。如果你未提供任何参数,直接使用 match() ,那么你会得到一个包含空字符串的 Array :[""] 。
参考网站
今日学习总结
今日心情
今日主要基于搜索来仔细学习 String 数据类型,这个名词词典也是参考高程设计中的名词描述,第一次这样写,花了很多时间和心思,得到的总结,发现一个数据类型需要学习的内容真的好多,感觉很不错。
不过其实也有遇见很多新名词,但是没有过多研究,希望明天学习到更多东西~~~~
本文使用 mdnice 排版