- let和const,var
1. 特点:
2. let有块作用域,不能重复定义,没有变量提升
3. var没有块作用域,能重复定义,有变量提升
- 模板字符串
1. 反引号定义字符串:` `
2.
3. ` ${ 取变量} `
例如:
1. let result=`我的姓名是${goods.name},
2. 我的价格是${goods.price}。`
3.对象的解构赋值:
1.对象的解构赋值:var { name1,price1 } = goods;
2.数组的解构赋值:var [one,two]=array1
4.展开操作符和 rest …
展开操作:
列表转数组:… 实参传给 函数形参
数组转列表:….
合并需求:
var arr1=[32,453,546,56]
var arr2=[5,6,78]
arr1=[…arr1,…arr2]
- 数组的遍历方法
1. forEach():即for循环的升级版,返回值是undefined
2. result=arr1.forEach(function(item,index,arr) {
3.
4. //遍历
5.
6. })
7.
8. filter():即根据条件遍历数组,返回一个新数组
9. 例如:result=arr1.filter(function(item,index,arr) {
10.
11. return item>400
12.
13. })
14.
15. map():根据遍历结果,返回处理后的数组
16.
17. 例如:
18. result=users.map(function(item,index){
19.
20. return `用户名:${item.name},年龄:${item.age}`
21.
22. })
23.
24.
25.ES6的类和继承
26.
27. ES5:用函数来模拟类,用prototype来定义公共方法,继承
function Person(name,age) {
1. this.name=name || '用户名';
2. this.age=age || 0;
}
Person.prototype.eat=function() {
console.log(${this.name}会吃饭
);
}
function Chinese(name,age) {
1. this.theme="黄色"
2.
3. Person.call(this,name,age);
}
//原型链继承
Chinese.prototype=new Person()
ES5继承参考资料:https://segmentfault.com/a/1190000002440502
1. call,apply,组合继承,原型链继承
2.
3. ES6:用class模拟类,用extends实现继承
4.
5. function Person(name,age) {
6.
7. this.name=name || '用户名';
8. this.age=age || 0;
9.
10.
11. }
12.
13. class Person {
14.
15. constructor(name='用户名',age=0) {
16. this.name=name;
17. this.age=age;
18. }
19.
20.
21. play() {
22. console.log(`${this.name}会打游戏`);
23. }
24.
25. }
26.
27.
28. class BwPer extends Per {
29.
30. constructor(name,age) {
31. super() //ES6继承必须要写super()
32. }
33.
34. HighSalary() {
35.
36. }
37.
38.
39. }
参考资料:
https://www.cnblogs.com/xiao-hong/p/3194027.html
https://www.cnblogs.com/lvmh/p/6104397.html
http://www.runoob.com/react/react-jsx.html