模板字符串标记及字符串中的api

模板字符串标记及字符串中的api

  • 模板字符串标记
  • 字符串中的api
    • 1.indexof
    • 2.includes()
    • 3.startsWith() endsWith()

模板字符串标记

用法:

标记名`模板字符串`
var text = myTag`邓哥喜欢${love1},邓哥也喜欢${love2}。`;
//相当于
text = myTag(["邓哥喜欢", ",邓哥也喜欢", "。"], "秋葵", "香菜")
//每一位的的字符串都会合并作为数组
//每一位的表达式都会作为剩余参数储存起来

字符串中的api

1.indexof

是查找字符串中是否包含某一个字符串

参数1:需要查询的目标字符串 参数2:就是开始查询的索引(如果不写 默认从0开始)

var str = "符合安静的染色剂大连房价垃圾费";
    console.log(str.indexOf("安静"));   //2
    console.log(str.indexOf("安静"),5); //-1
    console.log(str.indexOf("安宁"));//-1

2.includes()

检测字符串或者数组中是否包含某一个字符串或者元素

返回值:布尔类型

参数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

3.startsWith() endsWith()

判断是否已某一个字符串开头 或者结尾

 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

你可能感兴趣的:(javascript)