javascript

http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000

jQuery,underscore

 Map Map是一组键值对的结构,具有极快的查找速度。 Set  SetMap类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在Set中,没有重复的key。

var m = new Map([['lengpeng','lp'],['hello','helloworld']]);  //初始化
m.get('lengpeng'); //获取
m.get('hello');
m.set('11','222222');//添加
m.get('11');
m.set('11','3456');// 修改

m.has('11');//判断是否有
m.delete('11');//删除

iterable  ES6标准引入了新的iterable类型,ArrayMapSet都属于iterable类型。具有iterable类型的集合可以通过新的for ... of循环来遍历。

更好的方式是直接使用iterable内置的forEach方法,它接收一个函数,每次迭代就自动回调该函数。

var s1 = new Set();

var s2= new Set([1,2,3]);
var arr=['A','B','C'];
for(var x of arr){
console.log(x);
}

for(var x of s2){
console.log(x);
}

for(var x of m){
console.log(x);
}
console.log('Map Set Iterable');

arr.forEach(function(element,index,array){
console.log(element+' '+ index +' '+ array);
});

高阶函数:map  reduce  filter sort

  • 不要使用new Number()new Boolean()new String()创建包装对象;

  • parseInt()parseFloat()来转换任意类型到number

  • String()来转换任意类型到string,或者直接调用某个对象的toString()方法;

  • 通常不必把任意类型转换为boolean再判断,因为可以直接写if (myVar) {...}

  • typeof操作符可以判断出numberbooleanstringfunctionundefined

  • 判断Array要使用Array.isArray(arr)

  • 判断null请使用myVar === null

  • 判断某个全局变量是否存在用typeof window.myVar === 'undefined'

  • 函数内部判断某个变量是否存在用typeof myVar === 'undefined'

原文地址:https://www.cnblogs.com/lengp/p/6912296.html