- 反引号字符串中格式化变量(es6新特性)
console.log(`你好, ${name}, 你今年${age}岁了!`);
-
字符串和数组的方法:
字符串
var s=“nihao”
console.log(s.substring(0,3));
substring()数组的方法
push()和pop()在尾部进行操作
unshift()和shift()在头部添加和删除
slice()
sort()排序直接修改原数组
reverse()直接翻转原数组
splice万能方法
var arr = [1, 2];
arr.unshift('A', 'B'); // 返回Array新的长度: 4
arr; // ['A', 'B', 1, 2]
var brr=['a','b','c','d'];
brr.splice(2,2,'e','f');
brr;//从索引处开始删除几个元素,然后添加几个
added=['1','2'];
//concat()返回连接后的新数组,会自动把接受的数组拆开
added.join('-');//首先将元素自动转为字符串,随后用连接符连接。
- 试图访问不存在的属性,返回值是undefined
用in判断一个属性是否存在,会自动检测对象继承到的属性
想要判断是不是自身所有用hasOwnProperty - JavaScript把null、undefined、0、NaN和空字符串’'视为false,其他值一概视为true
- map,set,(for…of…) (ES6)
var m = new Map();//键值对
var s = new Set();//没有索引的不重复的数组
console.log('你的浏览器支持Map和Set!');
var a = [1, 2, 3];
a.name='xiaodong';
for (var x of a) {
console.log(x);
}//只会输出元素本身
console.log('你的浏览器支持for ... of');
for (var x in a){
console.log(x);
}//会输出意想不到的东西,历史遗留问题
- forEach (ES5.1)
forEach方法:接受一个函数,在每次迭代时自动回调该函数
对于普通数组,element,index,array
对于set, element,sameElement,set
对于map, value,key,map
a.forEach(function (element, index, array) {
// element: 指向当前元素的值
// index: 指向当前索引
// array: 指向Array对象本身
console.log(element + ', index = ' + index);
});
var b=new Set(['A','B','C']);
//Set没有索引
b.forEach(function(sameElement){
console.log(sameElement);
});
var c=new Map([[1,'x'],[2,'y'],[3,'z']]);
c.forEach(function(value,key,map){
console.log(value);
});