标签: javascript 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>

测试地址

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

  1. 粗看ES6之面向对象写法

    标签: es6 在es6以前,js没有类的概念,虽然有构造函数原型的方式用来做面向对向开发,但是对于书法并不是十分友好,而且对于继承实现也不是十分友好. es6引入class constructor ...

  2. 粗看ES6之JSON

    标签: es6 ES6新增JSON特性不是特别多,只是针对JSON某些情况下的写法上有一些优化: 当key值和value值对应变量名相同时 json对像中的方法书写 示例代码如下: <!DOCT ...

  3. 粗看ES6之数组

    标签: javascript es6 数组新增方法 map(可以理解为是映射,以一定规则修改数组每一项并返回全新数组) reduce(可以理解为是汇总,一堆出来一个) filter(可以理解为过滤,筛 ...

  4. 粗看ES6之解构赋值

    标签: javascript es6 什么是解构赋值? 示例如下: <!DOCTYPE html> <html> <head> <meta charset=& ...

  5. 粗看ES6之函数

    标签: es6 javascript 箭头函数 ES6为了书写方便引入了函数的全新简写方式-箭头函数 <!DOCTYPE html> <html> <head> & ...

  6. 粗看ES6之变量

    标签: javascript var定义变量面临的问题 可以重复定义 无法限制变量不可修改 无块级作用域 ES6变量定义升级 新增let定义变量 新增const定义常量 let特性 有块级作用域 不可 ...

  7. javascript的replace+正则 实现ES6的字符串模版

    采用拼接字符串的形式,将 JSON 数据嵌入 HTML 中.开始时代码量较少,暂时还可以接受.但当页面结构复杂起来后,其弱点开始变得无法忍受起来: 书写不连贯.每写一个变量就要断一下,插入一个 + 和 ...

  8. ES6让字符串String增加了哪些好玩的特性呢?

    确实因为现在天气变热了,所以一天天的这么写我也很累.所以如果阅读的时候有什么错误还请大家指出来,不好意思.学习永无止境. OK,今天继续讲解ES6系列知识 学过上一节的解构赋值就知道,ES6确实给我们 ...

  9. es6之字符串添加的东西

    在es6里边对字符串添加了一些东西! 字符串模板(非常友善) 相信大家之前都遇到过万恶的字符串拼接,真是噩梦,不过之后有了字符串模板之后,再也不用担心字符串拼接会乱了... 之前的字符串拼接 let ...

随机推荐

  1. 【谁知道C#字段为什么用属性封装?】

    源地址:https://zhidao.baidu.com/question/1174413218458798139.html 我们知道,类成员包括变量和方法.如果希望其他类能够访问成员变量的值,就必须 ...

  2. findControl 可以获取前台页面的控件

    findControl 可以获取前台页面的控件

  3. 老男孩Day8作业:FTP

    1.作业需求 开发简单的FTP: 1. 用户登陆 2. 上传/下载文件 3. 不同用户家目录不同 4. 查看当前目录下文件 5. 充分使用面向对象知识 2.流程图 3.目录结构 4.代码区 bin目录 ...

  4. spring 和 mybatis 整合过程 (包含分页)

    1.spring-mybatis.xml  : 配置 SqlSessionFactory 和  MapperScannerConfigurer  <bean id="sqlSessio ...

  5. Quadratic Residues POJ - 1808 二次剩余定理

    \(\color{#0066ff}{题目链接 }\) link \(\color{#0066ff}{ 题解 }\) 结论题 \((\frac{a}{p})=a^{\frac{p-1}{2}}\mod ...

  6. LCA SP913 QTREE2 - Query on a tree II

    SP913 QTREE2 - Query on a tree II 给定一棵n个点的树,边具有边权.要求作以下操作: DIST a b 询问点a至点b路径上的边权之和 KTH a b k 询问点a至点 ...

  7. NOIP2018初赛总结(提高组)(试题+答案+简要解析)

    NOIP2018初赛总结(提高组) 更新完毕(纯手敲),如果有错误请在下面留言 单选题 T1.下列四个不同进制的数中,与其它三项数值上不相等的是 A.\((269)_{16}\) B.\((617)_ ...

  8. Leetcode 283. Move Zeroes 移动数组中的零 (数组,模拟)

    题目描述 已知数组nums,写一个函数将nums中的0移动到数组后面,同时保持非零元素的相对位置不变.比如已知nums=[0,1,0,3,12],调用你写的函数后nums应该是[1,3,12,0,0] ...

  9. select和epoll原理和区别

    对于select和poll,其主要原理跟epoll不同 poll和select的共同点就是,对全部指定设备(fd)都做一次poll,当然这往往都是还没有就绪的,那就会通过回调函数把当前进程注册到设备的 ...

  10. [SCOI2007]蜥蜴 BZOJ1066 最大流

    题目背景 07四川省选 题目描述 在一个r行c列的网格地图中有一些高度不同的石柱,一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃到边界外. 每行每列中相邻石柱的距离为1,蜥蜴的跳跃距离是d,即蜥蜴 ...