-
多维数组转一维数组:[].concat.apply([],arr) arr.flat for循环加concat拼接 [].concat(...arr)
-
排序 两层for循环如果[j]>[j+1]定义额外变量 temp=[j] [j]=[j+1] [j+1]=temp
-
深拷贝1.判断是否数组2.对象的话for循环,如果key是对象递归。 assign没有多级属性可以实现深拷贝
-
手写new 1object.create(obj.prototyoe) 2return obj.apply(newObj,args) 原理是定义一个新对象的prototype的为原obj在apply改变this指向
-
手写instanceof,右侧的prototype是否等于左侧的proto 不是的话左侧的proto继续往上赋值
-
实例化出来的prototype是否等于左侧的_proto_
-
防抖节流timer=null 如果!=null clear(timer)否则timer=setTimeout() fn.apply(this,arg) timer=null
-
原生ajax newHTML,ajax.open setRequestHeader send onReadyDtate.change
-
数组去重 indexof!==-1 push 对象的唯一性, Array.from(new Set(arr))
-
斐波那契 if(n==1||n==2)return1 否则return fn(n-2)+fn(n-1)