用法:
标记名`模板字符串`
var text = myTag`邓哥喜欢${love1},邓哥也喜欢${love2}。`;
//相当于
text = myTag(["邓哥喜欢", ",邓哥也喜欢", "。"], "秋葵", "香菜")
//每一位的的字符串都会合并作为数组
//每一位的表达式都会作为剩余参数储存起来
是查找字符串中是否包含某一个字符串
参数1:需要查询的目标字符串 参数2:就是开始查询的索引(如果不写 默认从0开始)
var str = "符合安静的染色剂大连房价垃圾费";
console.log(str.indexOf("安静")); //2
console.log(str.indexOf("安静"),5); //-1
console.log(str.indexOf("安宁"));//-1
检测字符串或者数组中是否包含某一个字符串或者元素
返回值:布尔类型
参数1:需要查询的目标字符串 参数2:就是开始查询的索引(如果不写 默认从0开始)
indexOf 和 includes 的区别:
(1). 返回值 indexOf方法 返回找到的第一个子字符串位置为索引 includes 找到了就返回true 没有就返回false
if(arr.includes(60)){
console.log("咱们有踩线及格的");
}
if(rr.indexOf(60)!=-1){
console.log("咱们有踩线及格的");
}
console.log(str.includes("人家",3));
console.log(str.includes("安静",12));
(2)如果数组里面包含NaN 但是我们又正好需要查数组里面有没有NaN 那么indexfo就不能用 就只能使用includes
var arr1 = [1,15,46,42,NaN];
console.log(arr1.indexOf(NaN)); //-1
console.log(arr1.includes(NaN)); //NaN
(3)如果数组里面包含空值 那么使用indexof判断就会出错 只能使用includes
var arr2 = new Array(5);
console.log(arr2.indexOf(undefined)); // -1
console.log(arr2.includes(undefined)); // true
判断是否已某一个字符串开头 或者结尾
var sayHi = "hello world!";
console.log(sayHi . startsWith("hello"));
console.log( sayHi . endsWith("!"));
//第二个参数:
// startsWith :第二个参数表示从索引为几的字符串开始找
// endsWith :第二个参数表示的是从索引为n之前的元素里面去找(不算自身的)
console.log( sayHi.startsWith("hel1o", 3)); // false
console.log( sayHi.endsWith("!", 11)); // false
console.log(sayHi. endsWith("!", 16)); // true