1.search()方法
这个方法会返回第一个匹配到的字符串的索引位置,只会从前往后进行搜索匹配,而不会逆向匹配。它和match()方法一样,只会接受一个参数,可以是字符串、正则表达式以及新建的正则表达式的对象。
const str = "i am a student"; const newStr = str.search("a"); console.log(newStr); // "2",第一个匹配到的a的字符串的索引位置
2.replace()和split()方法
这是字符串的两个基本方法,前者接受两个参数,分别是被替换的字符串和替换后的字符串。后者可以接受一个或者两个参数,分别是分隔符和限定数组的长度,它会返回一个数组。
const str = "a,b,c"; const strArr = str.split(","); console.log(strArr); // ["a", "b", "c"],返回一个数组 // 限定返回数组的长度 const strArr2 = str.split(",", 2); console.log(strArr2); // ["a", "b"],返回长度为2的字符串
3.URI编码方法之encodeURI()和decodeURI()、encodeURIComponent()和decodeURIComponent()方法的差异
encodeURI() encodeURIComponent() 它不会对本身属于URI的特殊字符进行编码,例如:冒号、斜线、井号、问号。 它会对发现的任何非标准的特殊字符进行编码
decodeURI() decodeURIComponent() 它只会对encodeURi()方法编码的字符进行解码 它只会对encodeURIComponent()方法编码的字符进行解码
注:一般我们多会在业务场景中使用encodeURIComponent(),因为我们一般都是对字符串的参数进行编码,而不是对基础的URI进行编码,而且,它会对所有特殊字符进行编码,相对encodeURI()方法,在功能性上就有了很大的扩展。
4.eval()方法
这个方法在浏览器的js调试平台中使用过,今天有了解了一下,真是强大啊!个人认为,它做的最厉害的一件事情就是将字符串转换为真正执行的代码。它接受一个参数,即字符串参数。(这种方法已经不)
eval("var test = 'myTest';"); console.log(test); // "myTest",还可以在eval方法之外访问在内部创建的变量,不过在严格模式下行不 通,会报错的 const test = "a"; eval("alert(test);"); // "a",eval()方法还可以引用包含这个执行环境中的变量或者方法,即访问外部 变量
5.Math对象中常用方法的一些总结
random():这个方法是最常用的,它的范围是[0, 1),一般用在模拟随机数的场景中
max()、min():这两个方法一般是用来比较数值的最大数和最小数,他可以接受任意多的数值参数
const minNumber = Math.min(4, 3, 30, 45); console.log(minNumber); // 3 const maxNumber = Math.max(4, 3, 30, 45); console.log(maxNumber); // 45 // 延伸一下:如果想拿到数组中的最大或者最小值呢?是不是第一反应就是自己写一个方法呢?刚刚在这里看了个小技巧的方法,牛逼!!! const arr = [1, 3, 76, 5]; const maxValue = Math.max.apply(Math, arr); // 这里的调用了max方法的继承方法,因为它的第 二个参数是一个数组,确实很机智,很难想 到,而且第一个参数的环境对象正确设置为了 Math对象 console.log(maxValue); // 76,去数组中的最小值的方法也是类似注意:一定要正确设置apply方法的第一个参数的环境对象。
ceil()、floor()、round()方法:这三个方法都是对数值进行舍入操作的方法,第一个是向上舍入、第二个是向下舍入,第三个是实现的四舍五入的操作,它们返回的都是进行舍入操作最接近的整数
const a = Math.ceil(11.1); // 12,向上舍入 const b = Math.floor(11.1); // 11,向下舍入 const c = Math.round(11.5); // 12,四舍五入操作 // 负数的执行也一样,但还是容易混淆 const d = Math.ceil(-11.1); // -11,向上舍入 const e = Math.floor(-11.1); // -12,向下舍入 const f = Math.round(-11.5); // -12,四舍五入操作
😆😆😆