复习小技巧
高山我梦口香糖
这个作者很懒,什么都没留下…
展开
-
简单手写forEach等6个循环函数
问:为什么return不能跳出整个循环答:return可以跳出当前callback,, 而不能跳出整个for循环,问:那怎么跳出整个循环?答:try catch。原创 2022-10-11 16:04:52 · 566 阅读 · 0 评论 -
[js基础]总结常见手写题
让构造函数的原型直接指向一个对象,或者new 构造函数,就可以继承那个对象的所有属性,包括它原型上的属性。第二种方法,利用indexOf判断元素第一次出现是不是和下次出现是否吻合。第三种方法,利用includes,如果空数组不包含元素,就添加进去。如果嵌套太多了,传infinity,都会压成1层。验证即便是指向一个普通对象就能继承他的全部。遍历一下他的所有属性(包括原型)最开始点击还是会有延迟,未优化。如果什么都不传,默认是解1层。原创 2022-10-09 22:09:45 · 216 阅读 · 0 评论 -
[深拷贝] 利用new obj.constructor()代替obj instanceof
深拷贝 利用new obj.constructor()代替obj instanceof原创 2022-10-09 18:11:36 · 881 阅读 · 1 评论 -
避免promise还是地狱回调写法
假如有3个函数,返回的都是一个promise,f2依赖f1返回的结果后才能执行,f3依赖f2返回的结果才能执行,这会导致回调地狱的写法,还是一层嵌套一层。用以下这种写法就可以避免,在上一个回调里返回一个下一个要执行的函数,返回的也是promise。如果其中一个出错了 咋办?因为是链式调用,可以在最后面用catch捕获。当然也可以用async await。原创 2022-10-09 17:56:53 · 213 阅读 · 0 评论 -
【小故事】一个小例子搞懂call,apply
有2个人,小明和小白,小明有充电宝,小白没有let xiaoming = { name: '小明', battery: 70, //充电宝 charge: function (level) { this.battery = level; } }let xiaobai = { name: '小白', battery: 30 }小明手机还有70电,先充到100先console.log原创 2022-04-04 10:16:38 · 367 阅读 · 0 评论 -
【折腾】深拷贝的递归思想
首先先理一下思路数组可以通过下标这样拷贝数组可以通过下标这样拷贝let arr = [4, 5, 6]let arr1 = []arr1[0] = arr[0]console.log(arr1[0]);//4对象可以通过key这样拷贝属性let obj1 = { name: "小明" }let obj2 = {}obj2['name'] = obj1['name']obj2.name = '小白'console.log(obj1.name);//..原创 2022-04-02 22:17:04 · 298 阅读 · 0 评论 -
【折腾】字符串隐式转换踩坑
输入5和10,为什么总是输出5?起初以为5和10会自动转换成数字类型,实践不行,要解决就把字符转数字为何5比10大?原因:字符串比较在==才会转数字,>是不会转的,所以他会逐个比较,比较第一个数,5和1,当然是5大啊!...原创 2022-03-26 14:55:52 · 268 阅读 · 0 评论 -
【折腾】原来用了箭头函数也不一样能访问全局的变量
刚刚我发现原来就算let声明在全局在window也是找不到的答案 是不可以的,因为var声明的才会挂到window上面,就算用const或者let声明在全局的环境下,也是拿不到的原创 2022-03-26 12:14:02 · 322 阅读 · 0 评论 -
【折腾】非响应式数据也并非一样要定义在data的retuen{}外
但是为什么他妈的都是挂在到组件上面而页面不显示得出结论:在执行mounted()DOM渲染完成才定义的this.xx=xx就无法渲染,因为不是响应式的可以在create(),beforeMount()mounted()不行!!因为渲染完dom才有this.xxx=xxx...原创 2022-03-25 18:02:28 · 343 阅读 · 0 评论