字符串的扩展

1. 模版字符串

  • 传统的 JavaScript 语言,输出模板通常要拼接字符串

    // 原始方法做模版
    let data = {
        message: {
            title: "今天天气真的很好",
            todo: "打台球",
            time: "时间2020.3.25"
        }
    }
    let oOuter = document.getElementById("outer");
    let str = '<div class="box"><h2> ' + data.message.title + '</h2><p>' + data.message.todo + '</p><p>' + data.message.time + '</p></div> ';
    oOuter.innerHTML = str; 
  • 模板字符串(template string)是增强版的字符串,用反引号(`)标识。可以嵌套变量,可以换行,可以包含单引号和双引号。

  • 它可以当作普通字符串使用,也可以用来定义多行字符串。模板字符串中嵌入变量,需要将变量名写在${}之中。

  • 大括号内部可以放入任意的 JavaScript 表达式,可以进行运算,以及引用对象属性。

    let data = {
        message: {
            title: "今天天气真的很好",
            todo: "打台球",
            time: "时间2020.3.25",
            isLike: false
        }
    }
    let oOuter = document.getElementById("outer");
    let str = `
        <div class="box">
        <h2>${data.message.title}</h2>
        <p>${data.message.todo}</p>
        <p>${data.message.time}</p>
        <p>${data.message.isLike ? "我喜欢你" : "我不喜欢你"}</p >
        </div>
    `;
    // oOuter.appendChild(str);//Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.
    oOuter.innerHTML = str;//需要用innerHTML设置到元素中
  • 模板字符串之中还能调用函数。

    function fn(){
        return "hello";
    }
    let str = `${fn()} world`;
    console.log(str);//hello world

2. 字符串新增的方法

  • 去空格

    • trim():删除字符串两端的空白符
    • trimStart() 去除首部的空格
    • trimEnd() 去除尾部的空格
    //字符串是基本类型值,一般的方法只能返回新值,而不能改变字符串
    let message = "      hello    world      ";
    log(message);
    
    log(message.trim());
    log(message.trimStart());
    log(message.trimEnd());
  • 判断

    • startsWith();判断开头有没有包含某个字符串
    • endsWith();判断结尾有没有包含某个字符串
    • includes判断字符串是否包含某个字符串
    //字符串是基本类型值,一般的方法只能返回新值,而不能改变字符串
    let message = "hello    world";
    log(message);
    
    log(message.startsWith("hello"));//true
    log(message.endsWith("world"));////true
    log(message.endsWith("ld"));//true
    log(message.includes("ld"));//true
    log(message.includes("or"));//true
    log(message.includes("你好啊"));//false
  • repeat重复当前的字符串,可以规定次数

    let message = "海峰,你好s啊";
    log(message.repeat(10));
  • 补充字符

    • padStart()当字符串不够某个长度的时候,在前边补充任意字符
    • padEnd(),//当字符串不够某个长度的时候,在后边补充任意字符
    let message = "这个是密码";
    log(message.padStart(8, '#'))
    log(message.padEnd(8, '#'))
    log(message.padStart(8, '#*2222'))

posted @ 2023-01-29 13:25  z_bky  阅读(46)  评论(0)    收藏  举报