全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

ES6新特性之变量和字符串用法示例

本文实例讲述了ES6新特性之变量和字符串用法。分享给大家供大家参考,具体如下:

一、变量

1. LET

我们都习惯用var 来声明变量,现在还可以用let来声明变量,两者的主要区别是作用域:var声明的变量作用域为包围它的函数,而let声明的变量作用域仅在它所在的块中。(在ES5中是没有块的概念的)。

if(true){
  let a=1;
}
console.log(a);//undifined

这样使代码更加干净,减少滞留的变量,再如我们经常用的数组遍历:

for(let i=0;i<lists.length;i++){
  //do somthing with lists[i]
}
console.log(i)l//undifined

通常情况下,我们在同一作用域里使用变量J来完成另一个遍历,但是现在有了let,可以安全的再一次声明i变量,因为它只在被声明的块中有效。

2.CONST

const也是用于声明块作用域变量的方法,使用const可以声明一个值得只读引用,必须直接给一个变量赋值,如果尝试该变量或者没有立即给变量赋值,都将报错:

const MY_CONSTENT=1;
MY_CONSTENT=2;//error
const MY_CONSTENT;//error

注意对象的属性或数组成员还是可以改变的

const MY_OBJECT={some:1};
MY_OBJECT.some='body';

3.箭头函数

箭头函数使得JS代码更加简洁。下面将箭头函数和ES5版本的函数写法:

//箭头函数
let books=[{"title":"X","price":20},{"title":"Y","price":40}];
let titles=books.map(item=>item.title);
//ES5函数
var titles=books.map(function(item){
  return item.title;
});

观察箭头函数的语法,会发现其中并没有出现function关键字,只保留零或多个参数、“胖箭头”(“=>”)和函数表达式,return声明被隐式加入。带有零或者多个参数时必须使用括号:

//no arguments
books.map(()=>1);//[1,1]
//Mutiple arguments
[1,2].map((n,index)=>n*index);//[0,2]

如果需要写更多的逻辑或更多的空格,可以把函数表达式放在({})块中:

let result=[1,2,3,4,5].map(n=>{
  n=n%3;
  retutn n;
})

箭头函数不单是为了输入更少的字符,它们的表现也和一般的函数不同。它的继承了当前上下文的this和arguments,这就意味着你可以避免写var that=this这样的代码,也不需要把函数绑定到正确的上下文了:

//ES6
let books={
  title'X',
  sellers:['A','B'],
  printSellers(){
    this.sellers.forEach(seller=>console.log(seller+'seller'+this.title))
  }
};
//ES5
var books={
  title='X',
  sellers:['A','B'],
  printSellers:function(){
   var that=this;
   this.sellers.forEach(function(seller){
     console.log(seller+'seller'+that.title)
   })
  }
};

二、字符串

1.方法

字符串String原型中增添了几个新方法,用于简化需要用indexOf()方法来解决的问题的复杂度,并达到同样的效果:

'my string'.startsWith('my');//true
'my string'.endsWith('my');//false
'my string'.includes('str');//true

添加了另一个方法,用于创建重复字符串:

'my'.repeat(3);//'my my my'

2. 模板字符串

模板字符串提供提供一个简洁的方式来实现字符串插值,它基于美元符号和花括号${...},模板字符串置于引号之中:

//ES6
let name='json',
  apples=5,
  pears=7,
  bananas=function(){return 3};
console.log('this is${name}');
console.log('he carries ${apples} apples,${pears} pears,and ${bananas()} bananas');
//ES5
console.log('he carries'+ ${apples}+' apples,'+${pears}+' pears,and '+${bananas()}+' bananas');

以上形式对比ES5仅仅是便于字符串的拼接,实际上,模板字符串还可以用于多行字符串(空格也是字符串的一部分):

let x='1...
  2...
  3 lines long!';
//ES5
var x='1...'+
  '2...'+
  '3 lines long!';
var x="1...2...3 lines long!';

希望本文所述对大家ECMAScript程序设计有所帮助。


# ES6  # 新特性  # 变量  # 字符串  # ES6中非常实用的新特性介绍  # JavaScript ES6的新特性使用新方法定义Class  # JavaScript中的Reflect对象详解(ES6新特性)  # 深入浅出ES6新特性之函数默认参数和箭头函数  # 简单谈谈ES6的六个小特性  # ES6新特性之Symbol类型用法分析  # ES6(ECMAScript 6)新特性之模板字符串用法分析  # ES6新特性之模块Module用法详解  # ES6新特性之字符串的扩展实例分析  # ES6新特性二:Iterator(遍历器)和for-of循环详解  # ES6新特性六:promise对象实例详解  # ES6新特性七:数组的扩充详解  # ES6新特性八:async函数用法实例详解  # ES6新特性之类(Class)和继承(Extends)相关概念与用法分析  # 让微信小程序支持ES6中Promise特性的方法详解  # ES6新特性:使用export和import实现模块化详解  # es6新特性之 class 基本用法解析  # ES6 13个新特性总结  # 多个  # 遍历  # 几个  # 放在  # 还可以  # 可以用  # 要把  # 这就  # 给大家  # 仅仅是  # 你可  # 都将  # 因为它  # 只在  # 不需  # 报错  # 提供一个  # 来实现  # 方法来  # 来完成 


相关文章: 教程网站设计制作软件,怎么创建自己的一个网站?  如何设计高效校园网站?  如何制作网站标识牌,动态网站如何制作(教程)?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  如何获取开源自助建站系统免费下载链接?  如何选择可靠的免备案建站服务器?  小建面朝正北,A点实际方位是否存在偏差?  代购小票制作网站有哪些,购物小票的简要说明?  如何通过云梦建站系统实现SEO快速优化?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?  php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】  内部网站制作流程,如何建立公司内部网站?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  SQL查询语句优化的实用方法总结  小说建站VPS选用指南:性能对比、配置优化与建站方案解析    建站主机CVM配置优化、SEO策略与性能提升指南  开封网站制作公司,网络用语开封是什么意思?  非常酷的网站设计制作软件,酷培ai教育官方网站?  义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  h5在线制作网站电脑版下载,h5网页制作软件?  如何快速搭建安全的FTP站点?  如何在橙子建站中快速调整背景颜色?  广州网站建站公司选择指南:建站流程与SEO优化关键词解析  网站建设设计制作营销公司南阳,如何策划设计和建设网站?  如何在云主机上快速搭建网站?  网站制作价目表怎么做,珍爱网婚介费用多少?  再谈Python中的字符串与字符编码(推荐)  网站网页制作专业公司,怎样制作自己的网页?  公司网站制作需要多少钱,找人做公司网站需要多少钱?  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  已有域名和空间如何搭建网站?  如何在云指建站中生成FTP站点?  北京制作网站的公司,北京铁路集团官方网站?  ,怎么在广州志愿者网站注册?  建站之星安装提示数据库无法连接如何解决?  javascript中的try catch异常捕获机制用法分析  如何高效利用200m空间完成建站?  如何在阿里云部署织梦网站?  实例解析angularjs的filter过滤器  官网网站制作腾讯审核要多久,联想路由器newifi官网  公司网站设计制作厂家,怎么创建自己的一个网站?  如何选择CMS系统实现快速建站与SEO优化?  如何在Windows环境下新建FTP站点并设置权限?  如何构建满足综合性能需求的优质建站方案? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。