one:
two:改变函数执行顺序 1 2 3
setTimeout(()=>{
logger();
console.log("3")
},0);
async function logger(){
//想要改变执行顺序 ,就要去掉await
await printer();
console.log("2")
}
async function printer(){
console.log("1")
}
three:数组扁平化
var arr = [11,[12,13,[14,15]]];
//先来两种比较简单的方法
//one:
function flatten(arr){
return arr.toString().split(",").map(item=>parseInt(item))
}
console.log(flatten(arr))
//two:
function flatten(arr){
return arr.join(",").split(",").map(item=>Number(item))
}
console.log(flatten(arr))
//three:
function flatten(arr){
//判断当前元素是不是数组
var res = [];
arr.map(item=>{
//如果是
if(Array.isArray(item)){
//拼接
res = res.concat(flatten(item))
}else{
//追加在末尾
res.push(item)
}
})
}
console.log(flatten(arr))
//four:
function flatten(arr){
return arr.reduce((result,item)=>{
return result.concat(Array.isArray(item) ? flatten(item) : item)
},[])
}
four:
console.log(typeof typeof 1) //string
five:
(function (){
var a = b = 5; //var a = b; b=5;这个b是全局的
})()
console.log(b) //5
console.log(a) //a is not defined
six:
javascript数据类型有哪些?
原始类型:数值型,布尔,字符串,undefined,null
引用数据类型:对象,数组,函数…
seven:
var test = (function (a){
this.a = a ;//6
return function(b){
return this.a+b ;
}
(function (a,b){
return a; //1
}(1,2))
})
console.log(test(6))