有很多变量需要连接,用+号就比较麻烦。ES6新增了一种模板字符串${变量名}
变量.length 字符串转大写
s.toUpperCase();
指定出现位置
var s = 'hello, world';
s.indexOf('world'); // 返回7
返回子字符串
var s = 'hello, world'
s.substring(0, 5); // 从索引0开始到5(不包括5),返回'hello'
数组和字符串差不多
slice()就是对应String的substring()版本,它截取Array的部分元素,然后返回一个新的Array:
var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
arr.slice(0, 3); // 从索引0开始,到索引3结束,但不包括索引3: ['A', 'B', 'C']
push()向Array的末尾添加若干元素,pop()则把Array的最后一个元素删除掉
sort()可以对当前Array进行排序
reverse()把整个Array的元素给掉个个,也就是反转
concat()方法把当前的Array和另一个Array连接起来,并返回一个新的Array
join()方法是一个非常实用的方法,它把当前Array的每个元素都用指定的字符串连接起来,然后返回连接后的字符串
var arr = ['A', 'B', 'C', 1, 2, 3];
arr.join('-'); // 'A-B-C-1-2-3'
对象
var xiaohong = {
name: '小红',
'middle-school': 'No.1 Middle School'
};
'middle-school'不是要给有效的变量名,只能加'',用下面这种方式访问
xiaohong['middle-school']; // 'No.1 Middle School'
条件
} else if (age >= 18)
for in循环,对象或数组
var o = {
name: 'Jack',
age: 20,
city: 'Beijing'
};
for (var key in o) {
console.log(key); // 'name', 'age', 'city'
}
var arr = ['Bart', 'Lisa', 'Adam'];
for (var key in arr ) {
console.log(arr[key]);
}
循环,值
Array、Map和Set都属于iterable类型。
具有iterable类型的集合可以通过新的for ... of循环来遍历。
for ... of循环是ES6引入的新的语法,请测试你的浏览器是否支持:
'use strict';
var a = [1, 2, 3];
for (var x of a) {
console.log(x);
}
forEach 循环
a.forEach(function (element, index, array) {
// element: 指向当前元素的值
// index: 指向当前索引
// array: 指向Array对象本身
console.log(element + ', index = ' + index);
});