粗看ES6之字符串


字符串新增特性

  1. 新增二个方法 - startsWith/endsWith
  2. 字符串模板 - 反单引号的应用

startsWith

判断字符串以是否以某某开头,返回一个布尔值
示例代码如下:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>startsWith</title>
  <script type="text/javascript">
    //判断一个网址的类型
    function judgeUrl(str){
      if(str.startsWith('http://')){
        console.log(str+':这是个普通网址');
      }else if(str.startsWith('https://')){
        console.log(str+':这是个加密网址');
      }else if(str.startsWith('git://')){
        console.log(str+':这是个git地址');
      }else if(str.startsWith('svn://')){
        console.log(str+':这是个SVN地址');
      }else{
        console.log('其它!');
      }
    }
  </script>
</head>
<body>
  <button onclick="judgeUrl('http://www.baidu.com');">http://www.baidu.com</button>
  <button onclick="judgeUrl('https://www.baidu.com');">https://www.baidu.com</button>
  <button onclick="judgeUrl('git://www.baidu.com');">git://www.baidu.com</button>
  <button onclick="judgeUrl('svn://www.baidu.com');">svn://www.baidu.com</button>
  <button onclick="judgeUrl('htdfdfdfdf');">http://www.baidu.com</button>
</body>
</html>

测试地址


endsWith

判断字符串以是否以某某结束,返回一个布尔值
示例代码如下:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>endsWith</title>
  <script type="text/javascript">
    //判断一个网址的类型
    function judgeUrl(str){
      if(str.endsWith('.jpg')){
        console.log(str+':这是jpeg格式图片');
      }else if(str.endsWith('.png')){
        console.log(str+':这是png格式图片');
      }else if(str.endsWith('.gif')){
        console.log(str+':这是gif格式图片');
      }else if(str.endsWith('.bmp')){
        console.log(str+':这是bmp格式图片');
      }else{
        console.log('其它!');
      }
    }
  </script>
</head>
<body>
  <button onclick="judgeUrl('aaa.jpg');">aaa.jpg</button>
  <button onclick="judgeUrl('aaa.png');">aaa.png</button>
  <button onclick="judgeUrl('aaa.gif');">aaa.gif</button>
  <button onclick="judgeUrl('aaa.bmp');">aaa.bmp</button>
  <button onclick="judgeUrl('aaa.doc');">aaa.doc</button>
</body>
</html>

测试地址

字符串模板

  • 可以直接把变量插入到字符串里面
  • 折行不必做特殊处理

示例代码如下:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>字符串模板</title>
</head>
<body>
  <h3>字符串方式</h3>
  <div id="test1"></div>
  <hr />
  <h3>\方式</h3>
  <div id="test2"></div>
  <hr />
  <h3>ES6字符串模板方式</h3>
  <div id="test3"></div>
  <script>
    var title = "这是标题";
    var content = "这里是内容,应该放的内容!!";

    //第一种字符串拼接方法
    var htmlStr0 = "<div>"+
    "<h4>"+title+"</h4>"+
    "<p>"+content+"</p>"+
    "</div>";

    //第二种字符串拼接方法
    var htmlStr1 = "<div>\
    <h4>"+title+"</h4>\
    <p>"+content+"</p>\
    </div>";

    //es6字符串模板方法
    var htmlStr2 = `<div>
    <h4>${title}</h4>
    <p>${content}</p>
    </div>`;

    document.getElementById('test1').innerHTML = htmlStr0;
    document.getElementById('test2').innerHTML = htmlStr1;
    document.getElementById('test3').innerHTML = htmlStr2;
  </script>
  </script>

  </script>
</body>
</html>

测试地址

时间: 2024-08-02 08:08:48

粗看ES6之字符串的相关文章

粗看ES6之面向对象写法

在es6以前,js没有类的概念,虽然有构造函数原型的方式用来做面向对向开发,但是对于书法并不是十分友好,而且对于继承实现也不是十分友好. es6引入class constructor extends super等关键字简化了JS面向对象写法,以后可以跟后端说JS也终于是有类的一门语言了,哈哈. ES6的面向对象写法如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT

es6之字符串添加的东西

在es6里边对字符串添加了一些东西! 字符串模板(非常友善) 相信大家之前都遇到过万恶的字符串拼接,真是噩梦,不过之后有了字符串模板之后,再也不用担心字符串拼接会乱了... 之前的字符串拼接 let name ='Strive'; let age = 18; let str = '这个人叫'+name+', 年龄是 '+age+'岁'; console.log(str); let str1=`这个人叫${name},年龄是${age}岁`//现在是这样的 //简直不要太方便有没有 其实这样还好吧

ES6 之 字符串扩展

字符串所有的方法,都 不会修改字符串本身(字符串是不可变的),操作完成会 返回一个新的字符串. 将一个值转化为字符串,.toString()方法,但是null和undefined值没有这个方法, 1.字符的Unicode("\uxxxx")表示法 xxxx -- 表示Unicode的码点,但是这种码点在\u0000~\uFFFF之间的字符.超出这个范围额字符,必须用2个双字节的形式表示. 如果直接在\u后面跟上超出范围的值,如\u20BB7,js会理解成\u20BB + 7,由于\u2

ES6 中字符串的扩展

1. 字符的Unicode表示法 JavaScript允许采用 \uxxxx 形式表示一个字符,其中 xxxx 表示字符的 Unicode 码点. "\u0061" // 表示小写字母"a" 但是这种表示法只限于码点在 \u0000-\uFFFF 之间的字符,有些字符的 Unicode 编码超出了这个范围,那么就必须使用2个双字节的形式表示. "\uD842\uDFB7" // "??" 注意不是吉祥的"吉"

看es6 字符串新方法有感

'x'.repeat(3) // "xxx" 'hello'.repeat(2) // "hellohello" 'na'.repeat(0) // "" 'x'.padStart(5, 'ab') // 'ababx''x'.padStart(4, 'ab') // 'abax'   上面是es6的新方法 es5 prototype可以写出 无聊写了点 String.prototype.repead=function(n){ var arr=n

ES6模板字符串

看了阮老师的ES6入门再加上自己的一些理解整理出的学习笔记 介绍: 样子: `` 反引号,tab上面的那个键,同该符号包裹的字符串能够带来的功能如下: 可以包涵换行 在反引号以内,可以有多个换行,都能够在使用的时候被识别 可以嵌入变量 使用美元符号和大括号包裹变量${对象名.属性名} 可以原生输出  原生输出包含转义字符串的内容String.raw模板字符串 例子: 传统的JavaScript语言,输出模板通常是这样写的,字符串拼接很让人头疼,也很容易出错. $('#result').appen

ES6 ( 三 ) 字符串扩展

一.字符Unicode表示方法 ES6中可以使用以下6种方法表示字符 '\z' === 'z' // true '\172' === 'z' // true '\x7A' === 'z' // true '\u007A' === 'z' // true '\u{7A}' === 'z' // true 二.codePointAt() 该方法和charCodeAt() 作用一样    但是能处理4个字节表示的字符(Unicode码点大于0xFFFF的字符) 三.At() 和charAt()一样  

ES6之字符串扩展方法(常用)

es6这个String对象倒是扩展了不少方法,但是很多都是跟字符编码相关,个人选了几个感觉比较常用的方法: includes 搜索字符的神器 还记得我们之前如何判断某个字符串对象是否包含特地字符的吗? var str='google'; if(str.indexOf('o')>-1){ console.log('yes'); }else{ console.log('no'); } indexOf本来只是一个获取字符对应位置的方法,因为找到不到会返回-1这个值,就成了判断是否包含的方法,inclu

ES6笔记-字符串方法

字符串检索方法,indexOf(searchValue,fromIndex)//参数1必需,检索查询的字符串或者值,参数2选题,规定检索的起始位置,不设置默认从0开始 indexOf()方法返回检索字符串出现的位置,如果没有出现检索的字符串或者值,返回-1 'Hello Tom'.indexOf('o',2)//4,出现'Hello Tom'.indexOf('e',3)//-1,未出现 ES6新增加字符串检索方法 includes():返回布尔值,表示是否找到了参数字符串. startsWit