在js第一行写上'use strict' 将开启严格模式javascript
在严格模式下,声明变量时不容许不加var;java
一个字符串若是想要换行,以前只能使用c#
alert("这是\r\n一个\r\n多行\r\n字符串");
ES6如今新增了一个新的方法数组
alert(`这是 一个 多行 字符串`);
使用这种方法能够直接输出换行符
相似于c#里面的@函数
它就是js版本的substriingcode
var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G']; arr.slice(0, 3); // 从索引0开始,到索引3结束,但不包括索引3: ['A', 'B', 'C'] arr.slice(3); // 从索引3开始到结束: ['D', 'E', 'F', 'G']
Slice方法包含首,可是不包含尾索引
在数组最后追加/删除一个ip
在数组头部追加/删除一个element
map是一组key-value的组合。能够极快的查找字符串
// 初始化一个map var m = new Map([['xyy','yebao'],['lz','xiubao'],['hali','habao']]); // 添加一个新的key-value组合 m.set('santong','alex'); // 删除一个key-value m.delete('santong'); // 根据key获取 m.get('xyy'); // 判断是否存在 m.has('xyy');
Set和map相似,是一组key的组合。
可是只保存key,不保存value。
同时key不会重复
// 虽然声明了不少重复的,可是实际上 s = [1,2,3,4,5] var s = new Set([1,1,1,1,2,2,3,3,4,4,4,5]); alert(typeof s); // 打印每一个key s.forEach(function(item){ alert(item); });
和Map、Set同样,iterable也是ES6新引入的语法。
这是由于array可使用下标来访问,而Map和Set则不行。
为了统一集合类型,ES6引入了新的类型----iterable。
Array,Map和Set均属于iterable类型。
具备iterable类型的集合可使用新的for...of方法来遍历
var s = new Set([1,1,1,2,3,4,5,5,5,6,6,7]); for(var t of s){ alert(t); }
for...of 和in最大的区别有两点:
固然除了使用for...of以外,更好的遍历集合的方法是使用forEach方法
// array 中forEach的回调函数参数 var arr = ['a','b','c']; // 当前元素,当前序号,集合自己 arr.forEach(function(element,index,arr){ alert(element); alert(index); alert(arr); }); // Set中的回调函数参数 var s = new Set([1,2,3]); // 由于Set并无索引,所以前两个参数都是当前元素,最后一个参数是集合自己 s.forEach(function(element,element2,s){ alert(element); alert(element2); alert(s); }); // Map中的回调函数参数 var m = new Map([['lz','xiubao'],['xyy','yebao'],['hali','habao']]); m.forEach(function(value,key,m){ alert(value); alert(key); alert(m); });