ES6 (总结篇二)

一.字符串扩展

1.indexOf和index

 之前做项目,遇到判断一个字符串是否存在,不清楚用index还是indexOf,百度之后,用了indexOf。indexOf:返回某个指定的字符串值在字符串中首次出现的位置 ,如果没有找到这个值就返回-1,这一点很好用,注意,indexOf对大小写敏感。index返回下拉列表中选项的索引位置。

  而ES6提供了3种判断字符串是否存在的方法。①.includes() 返回布尔值,是否找到该字符串 ②.startsWith() ③.endsWith() 他们可以提供第二个参数,表示搜索的位置,endsWith()和他们不同,他是针对前n个字符,二其他的是针对从第n个开始直到结束。

二.函数的扩展

1.箭头函数使用注意事项:

(1).函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象

(2).不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出错误

(3).不可以使用arguments对象,该对象在函数体内不存在,如果要用,可以用rest参数代替

(4).不可以使用yield命令,因此箭头函数不能用作Generator函数

注意,this对象的指向是可变的,但是在箭头函数中,它是固定的

function foo() {setTimeout(() => {console.log('id:', this.id);}, 100);
}
var id = 21;
foo.call({ id: 42 });
// id: 42
//如果是普通函数,执行时this应该指向全局对象window,这时输出21

 三.数组扩展

1.Rest

  rest参数,形式为 "...变量名",用于获取函数多余参数,将多余参数放在数组中,和扩展运算符可以理解为互为逆函数

  扩展运算符:形式为"...",它是rest参数的逆运算,将一个数组转为用逗号分隔的参数序列

  例如:var list = ['大家好']  list.length =1,list[0]=大家好

  var list = [...'大家好']  list.length =3,list[0]=大,list[1]=家,list[2]=好

  扩展运算符最有用之一是:Math.max(...arr),比较数组中的最大值 ES5的写法是:Math.max.apply(null,[1,2,3])

2.扩展运算符的作用

(1).复制数组

// ES5
const a1 = [1,2]
const a2 = a1.concat()
// ES6
const a1 = [1,2]
const a2 = [...a1] 或者 const[...a2] = a1

(2).合并数组

// ES5
[1, 2].concat(more)
// ES6
[1, 2, ...more]var arr1 = ['a', 'b'];
var arr2 = ['c'];
var arr3 = ['d', 'e'];// ES5的合并数组
arr1.concat(arr2, arr3);
// [ 'a', 'b', 'c', 'd', 'e' ]// ES6的合并数组
[...arr1, ...arr2, ...arr3]
// [ 'a', 'b', 'c', 'd', 'e' ]

(3).与解构赋值结合(如果将扩展运算符用于数组赋值,只能放在参数的最后一位,否则报错)

// ES5
a = list[0], rest = list.slice(1)
// ES6
[a, ...rest] = list

 

转载于:https://www.cnblogs.com/alhh/p/8252211.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/267760.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python中try finally的用法_Python中的try-finally子句

您可以将finally:块与try:块一起使用。finally块是放置必须执行的所有代码的位置,无论try块是否引发异常。try-finally语句的语法是:try:You do your operations here;......................Due to any exception, this may be s…

工作三个月的总结

想想,我已经工作三个月了,总结一下我的工作经验。 找到了和自己专业相关的工作javaweb方面。虽然是个小公司,我 已经很知足了,对于没有上个好大学的我,真的很满意。 到公司没有几天,我就开始熟悉公司正在做…

关于jrebel碰到的一次问题记录

今天使用jrebel更新gitlab的代码之后,项目总是启动报错。报一个类找不到,但是这个类在整个目录下搜索不到,在target的class目录看了下也没有对应的目录。郁闷了好久,最后同事看了下,在整个target目录搜了下&#xff0c…

java动态生成sdk_android、java制作sdk以及自动生成文档

最近一直在做android开发,昨天经理让我写个接口SDK做个接口文档,以便后面的开发。这让我很焦灼,SDK怎么做?要是只有敲代码还好。可是那个接口文档!!!文档这东西最讨厌了,头都大了后来…

利用 Selenium 自动化 web 测试

Selenium 是一个健壮的工具集合,跨很多平台支持针对基于 web 的应用程序的测试自动化的敏捷开发。它是一个开源的、轻量级的自动化工具,很容易集成到各种项目中,支持多种编程语言,比如 .NET、Perl、Python、Ruby 和 Java™ 编程语…

Python3异常处理

Python3异常处理 一. 简介 在编程过程中为了增加友好性,在程序出现Bug时一般不会直接将错误信息展示给用户,而是提供一个友好的输出提示。 二. 使用 1. 异常基础 常用结构: 1234try:passexcept Exception,ex:pass其他结构: 123456…

php 正则替换style,php正则去除js,class,id,style标签代码

在写xml的时候,文档要求内容里面只要图片和段落就可以了,其他的css,js什么的都不需要。所以,在输出的时候,就要用正则去过滤掉不需要的标签代码。第一种:php正则去除js标签代码。$preg "/$content preg_replace…

Flex 序列化自定义类 解决 sharedObject 保存自定义对象

问题我想把自定义类实例存储到LSO解决办法使用flash.net.registerClassAlias( )方法保留类型信息并把类实例添加到共享对象的data属性上。讨论LSOs 使用特殊的二进制格式,Action Message Format (AMF),当要在LSO中存储类实例时,实例会被编码为…

js禁止页面滚动

1.申明函数&#xff1a; function preventBackgroundScroll(e: React.WheelEvent){ const target e.currentTarget if ( (e.deltaY < 0 && target.scrollTop < 0) || (e.deltaY > 0 && target.scrollHeight - target.clientHeight - target.scrollTo…

当老虎来临时

两个人在森林里&#xff0c;遇到了一只大老虎。A就赶紧从背后取下一双更轻便的运动鞋换上。B急死了&#xff0c;骂道&#xff1a;“你干嘛呢&#xff0c;再换鞋也跑不过老虎啊&#xff01;” A说&#xff1a;“我只要跑得比你快就好了。” 心得&#xff1a;二十一世纪&am…

R学习-小白笔记05

----回归诊断----#样本是否符合正态分布假设&#xff1f;#是否存在离群值导致模型产生较大误差&#xff1f;#线性模型是否合理&#xff1f;#误差是否满足独立性&#xff0c;等方差&#xff0c;正态分布等假设条件&#xff1f;#是否存在多重共线性&#xff1f; ----正态分布检验…

入门笔记(启动篇)

linux启动过程&#xff1a; bios自检&#xff0d;&#xff0d;&#xff1e;MRB&#xff0d;&#xff0d;&#xff1e;GRUB&#xff0d;&#xff0d;&#xff1e;内核加载&#xff0d;&#xff0d;&#xff1e;INIT&#xff0d;&#xff0d;&#xff1e; /etc/i…

乌班图 之 常用操作命令(二)

一、tree命令 tree [目录名]  以树状图列出文件目录 -d 只显示目录&#xff0c;不显示文件。 二、cp命令 cp即copy   cp 源文件 目标文件 -i  重名自动 覆盖 加了 -i 提示   y/n -r  复制目录及该目录下所有字目录和文件&#xff0c;目标文件必须是一个目录名。 三、…

php 对比两个压缩包内容,php实现的zip文件内容比较类

本文实例讲述了php实现的zip文件内容比较类。是一个非常实用的PHP类文件。分享给大家供大家参考。具体分析如下&#xff1a;该php zip文件比较类主要实现比较两个zip文件的内容&#xff0c;返回新增&#xff0c;删除&#xff0c;及相同的文件列表。暂时只支持单层。需求&#x…

Exchange2010外部传输域的使用方法

安装好EX2010后并不能马上与外部邮件进行收发&#xff0c;需要进行以下几个配置&#xff1a; 1、配置接收连接器 2、配置接受域 3、配置发送连接器 可以参考这个链接&#xff1a;http://www.chinaemail.com.cn/server/xtfl/Exchange/201101/59114.html 下面以我的实例来说明一…

Shiro安全框架入门篇

一、Shiro框架介绍 Apache Shiro是Java的一个安全框架&#xff0c;旨在简化身份验证和授权。Shiro在JavaSE和JavaEE项目中都可以使用。它主要用来处理身份认证&#xff0c;授权&#xff0c;企业会话管理和加密等。Shiro的具体功能点如下&#xff1a; &#xff08;1&#xff09;…

php 京东首页分类导航,仿京东导航栏

摘要&#xff1a; 仿京东顶部导航栏 仿京东顶部导航栏*{margin:0px;padding:0px;}.header{width:100%;height:35px;background-color:#E3E4E5;}.header_content{width:1200px;height:35px;margin:auto;padding:0px;}.header_left{width:300px;height:35px;line-height:35px…

asp.net ajax1.0基础回顾(七):综合应用

本文将通过学生信息管理来介绍asp.net ajax的综合应用实例&#xff0c;包括“浏览”、“查询”、“添加”和“多选删除”功能&#xff0c;以及其它相关设计。 本示例源代码下载地址&#xff1a;http://down.51cto.com/data/220541 本示例中&#xff0c;程序架构参考Petshop&…

探讨程序员如何学习你不熟悉的技术,以及用什么样的方法去学习.

由于公司的业务拓展&#xff0c;有一部份的程序要用Delphi来实现&#xff08;基于原来的程序拓展&#xff09;现在需要学习Delphi&#xff0c;刚开始接手时感觉不知如何下手&#xff08;也许是本人才疏学浅&#xff09;&#xff0c;于是在网上找了很多资料&#xff0c;总是感觉…

转载:关于对REST的基本认识和理解

1.什么是 REST?REST 是属于 WEB 自身的一种架构风格&#xff0c;是在 HTTP 1.1 规范下实现的。Representational State Transfer 全称翻译为表现层状态转化。Resource&#xff1a;资源。比如 newsfeed&#xff1b;Representational&#xff1a;表现形式&#xff0c;比如用JSON…