JavaScript学习记录

1. 初始化一个变量若不用var声明,则默认为全局变量。

2. ES6新特性,支持模版字符串,例如:

1 var name = 'john';
2 var age = 20;
3 var message = `Hello,my name is ${name},my age is ${age}`;
4 alert(message);

3. 字符串不可变,若对字符串某个索引赋值,将不会改变原字符串。字符串常用函数:toUpperCase()、toLowerCase()、indexOf()、substring()。

4. ES6新特性,Map是一组键值对的结构,具有极快的查找速度。  

 1 //Way 1
 2 var m = new Map([['a',1],['b',2],['[c',3]]);
 3 m.get('a');
 4 
 5 //Way 2
 6 var m = new Map();
 7 m.set('a',1);
 8 m.set('b',2);
 9 m.get('a');
10 m.has('a');
11 m.delete('b');

一个key只能对应一个value,多次赋值会覆盖前面的值。

Set和Map类似,它是一组key的集合,但是不会存储value,key无法重复。

1 var s1 = new Set();
2 var s2 = new Set([1,2,3]);
3 s1.add(1);
4 s2.delete(1);

5. ES6新特性,新类型iterable,具有iterable类型的如Array、Map、Set可以用for...of循环来遍历。

6. JavaScript支持任意多个参数,可以用arguments来获取。

7. 在函数内部首先声明所有变量。

8. 全局变量会绑定到window上,不同javascript文件若使用了相同名字的全局变量,则会不利于后期的调试,减少冲突的办法是使用命名空间。例如:

var space = {};

space.name = 'test';
space.version = 1;

space.foo = function(){
    return 'foo';
}

9. ES6新关键字let、const

10. 高阶函数,一个函数接收另一个函数作为参数。

1 function add(x,y,f){
2     return f(x)+f(y);
3 }
4 
5 add(1,2,Math.abs);

 

posted @ 2017-03-22 11:23  莫无形  阅读(159)  评论(0)    收藏  举报