创建: 2019/03/03
迁入/完成: 从【JavaScript 式与运算符】迁入String相关, String类型转换相互
字符串的操作 |
字符串的连接 |
+
左右都是字符串 |
直接连接 |
一边是字符串或者可以转换为字符串的object |
另一边转换成字符串来连接 |
其他情况 |
左右转换为数值相加
(转换不了的作为NaN) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
操作字符串的方法 |
注意:
字符串字面量本身不是Object
注意: 这些方法返回结果,但是字符串本身不变
生成字符串Oject |
var sample = new String("...");
这样的静态值转换为object成为wrapping |
wrap obejct |
var sample = "hello"
var c = sample.length // 5
字符串不是Object,所以这里自动生成一个即用即消的object
var msgObj = new String(msg)
var c = msgObj.length |
获取长度 |
length |
获取第n个字符的十进制代码
ES6 |
codePointAt(n) |
获取第n个字符 |
charAt(n)
也可以和数组一样,但是只可读,不能赋值
str[n] |
连接 |
concat(s1, s2, s3, ...) 直接连接
concat([s1, s2, s3, ...]) s1直接连接,后面的都加上","
concat() 可以不要参数,什么都不做 |
是否以s结尾
ES6 |
endsWith(s[,n])
如果指定n, 则n作为结尾位置来判断 |
是否包含
ES6 |
includes(s[ ,n])
如果指定n, 则n作为开头来搜索 |
最先出现的位置 |
indexOf(s) |
最后出现的位置 |
lastIndexOf(s) |
sort顺序下是否在s前后
或者相同 |
localeCompare(s)
相同的时候返回0 |
用参数r正规表现匹配的结果 |
match(r) |
用给定格式来标准化 |
normalize([form]) |
重复n次连接自己
ES6 |
repeat(n)
0次清空,1次不变 ,2次开始才是增加 |
用s2代替s1 |
replace(s1, s2) |
返回正规表现匹配到的开头索引 |
search(r) |
获取子字符串 |
slice(m,n) |
slice(m,n)
负数代表从后往前数
slice(n) 从n到最后 |
substring(m,n) |
不支持负参数,负的作为0
后面参数小的话自动对调 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
以s作为分割符进行分割 |
split(s[, n])
返回分割后的数组
指定n的话,n是分割元素的上限数 |
是否以s开头
ES6 |
startsWith(s[, n])
指定n的话,以n作为开头 |
大写文字 |
根据位置转换为大写 |
toLocaleUpperCase() |
不根据位置 |
toUpperCase() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
小写文字 |
根据位置转换为小写 |
toLocaleLowerCase() |
不根据位置 |
toLowerCase() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
StringObject转换为字符串 |
toString()
valueOf()
两个一样 |
去掉前后的空白 |
trim() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String构析函数的方法 |
1 |
String.length |
从参数的字符代码生成字符串 |
String.fromCharCode() |
从CodePoint生成字符串
ES6 |
String.fromCharPoint() |
String的原型对象 |
String.prototype |
获取模板的字符串
ES6 |
String.row() |
|
|
|
|
|
|
|
|
|
|
|
与数值的类型转换 |
自动转换 |
var s = "2"
s - 0
+s |
函数 |
parseInt(n,r) |
第二参数是说明第一参数是几进制表达,默认10 |
parseFloat(n) |
转为浮点数 |
|
Number生成方法 |
Number(n)
生成的是数值不是数值对象 |
|
|
|
|
|
|
|
|
|