一、RegExp
匹配模式的标记:
- g:全局模式,表示查找字符串的全部 内容,而不是找到第一个匹配的内容就结束。
- i:不区分大小写,表示在查找匹配时忽略pattern 和字符串的大小写。
- m:多行模式,表示查找到一行文本末尾时会继续查找。
- y:粘附模式,表示只查找从lastIndex 开始及之后的字符串。
- u:Unicode 模式,启用Unicode 匹配。
- s:dotAll 模式,表示元字符.匹配任何字符(包括\n 或\r)。
如:// 匹配字符串中的所有"at" let pattern1 = /at/g;
- 如果模式设置了全局标记,则每次调用exec()方法会返回一个匹配的信息。如果没有设置全局标记,则无论对同一个字符串调用多少次exec(),也只会返回第一个匹配的信息。
二、原始值包装类型
- 引用类型与原始值包装类型的主要区别在于对象的生命周期。在通过new 实例化引用类型后,得到的实例会在离开作用域时被销毁,而自动创建的原始值包装对象则只存在于访问它的那行代码执行期间。这意味着不能在运行时给原始值添加属性和方法。
let s1 = "some text";
s1.color = "red";
console.log(s1.color); // undefined
- 所有对象在布尔表达式中都会自动转换为 true
-
- num.toFixed(2) :保留两位小数
- num.toExponential:转换成科学计数法
- num.toPrecision:根据情况返回最合理的输出结果
- ECMAScript 提供了3 个从字符串中提取子字符串的方法:slice()、substr()和substring()。这3 个方法都返回调用它们的字符串的一个子字符串,而且都接收一或两个参数。第一个参数表示子字符串开始的位置,第二个参数表示子字符串结束的位置。对slice()和substring()而言,第二个参数是提取结束的位置(即该位置之前的字符会被提取出来)。对substr()而言,第二个参数表示返回的子字符串数量。任何情况下,省略第二个参数都意味着提取到字符串末尾。
- slice()方法将所有负值参数都当成字符串长度加上负参数值。而substr()方法将第一个负参数值当成字符串长度加上该值,将第二个负参数值转换为0。substring()方法会将所有负参数值都转换为0。
let stringValue = "hello world";
console.log(stringValue.slice(-3)); // "rld"
console.log(stringValue.substring(-3)); // "hello world"
console.log(stringValue.substr(-3)); // "rld"
console.log(stringValue.slice(3, -4)); // "lo w"
console.log(stringValue.substring(3, -4)); // "hel"
console.log(stringValue.substr(3, -4)); // "" (empty string)