1. Q&A
1.1. 1
"0"就是true js里面是前面一个值不为"" false null undefined 0 就取前面一个,否则取后面一个. if (a || b) 是先得到 a || b的值 ,然后再将这个值强制转换成 bool 然后去进行if的运算
b ? b : "3" 简写成 b || "3"
1.2. 2
js里面基本上所有类型都是对象 除了几个特殊的null,undefined,NaN 只要是对象都可以有方法函数
a && a.func()
1.3. 3
async是es7的 es6是generator,但是有了async基本上不会用generator,generator比起async还是差了很多
1.4. 生成唯一 ID
function generateUUID(){
    var d = new Date().getTime();
    var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
        var r = (d + Math.random()*16)%16 | 0;
        d = Math.floor(d/16);
        return (c=='x' ? r : (r&0x7|0x8)).toString(16);
    });
    return uuid;
};
1.5. 遍历修改 object array
var yourArray = [ {
    'id':1,
    'name':'john'
},{
    'id':2,
    'name':'jane'
}........,{
    'id':2000,
    'name':'zack'
}];
var newArray = yourArray.map( function( el ){
                                return el.name;
                               });
1.6. array or object to string
var string = JSON.stringify(object)
1.7. string to array or object
var object = JSON.parse(string)
1.8. string to int
<script>  
 var   str='1250' ;
 alert( Number(str) );  //得到1250
 alert(parseInt(str));  //得到1250
var str1='00100';
 alert( Number(str1) );  //得到100
 alert(parseInt(str1));  //得到64
发现parseInt方法在format'00'开头的数字时会当作2进制转10进制的方法进行转换,所以建议string转int最好用Number方法