- 博客(6)
- 收藏
- 关注
原创 var与function声明提升的区别-你必须知道的知识点
面试的时候遇到过这么一道题(() => { console.log(a); //当时我的答案:undefined 正确答案:ƒ a(){} var a = 10; console.log(a); //10 a = 20; function a(){}; console.log(a); //我的答案:ƒ a(){} 正确答案:20})()当时完全没有想明白,为什么第一次打印是个function,最后一次打印怎么又变成20了?经过几番查证思考,终于想
2021-05-14 11:22:45 1120 2
原创 最全面的vue知识点总结
mvc,mvp与mvvmMVC(Model-View-Controller):视图(view):用户视图控制器(Controller):业务逻辑模型(Model):数据保存view传送指令到controller,controller 完成业务逻辑后,要求model 改变状态,model 将新的数据发送到 view,用户得到反馈。MVP(Model-View-Presenter):各部分之间的通信都是双向的,view和model不发生联系,都是通过presenter传递。view非常轻量,不部
2021-03-30 15:47:49 1129
原创 深入了解原型链,es5应该如何实现继承
什么是原型链?原型链,简单理解就是原型组成的链,对象的__proto__是它的原型,而原型也是一个对象,也有__proto__属性,原型的__proto__又是原型的原型,就这样可以一直通过__proto_向上找,这就是原型链。理解原型链只需要理解三个角色与三个等式三个角色:constructor 、prototype、实例三个等式:constructor.prototype == prototypeprototype.constructor == constructor 实例.__ pro
2021-03-29 21:08:37 266
原创 web前端经典面试手写实现各种功能
前言在js中有许多常用方法,但是往往大部分人只知道用法但不知道其原理,这样会造成很容易记混或者忘记。而自己去实现这些方法可以巩固我们的记忆,同时也能加深我们对javascript这门编程语言的认识。new面试中经常会问到在我们使用new关键字的时候,具体发生了什么。自己实现一个其实就一目了然。function myNew(func,...args) { //传入构造函数及参数 const instance = {}; //生成一个空对象 if(func.prototy
2021-03-23 14:00:12 480
原创 超级长文,全是含金量!!十大经典排序算法分析js版----轻松掌握原理及实现方式!!!
一、冒泡排序步骤:1、从左依次将相邻的两个元素进行比较,若左边比右边大,则互换位置。一轮结束后,最大的元素就出现在了最右边。2、将剩下的元素重复步骤1,直到没有元素可以进行比较。注:降序则将步骤1中的交换规则修改为“若左边比右边小,则互换位置”。代码实现function bubbleSort(arr) { let len = arr.length; //先将数组长度保存,防止每一次循环都需要重新计算数组长度,空间换时间 for(let i = 0;i <
2021-03-12 17:32:31 258
原创 var,let,const变量声明总结
函数作用域与块级作用域window.onload = function (){ for(var i = 0;i < 5;i++) { setTimeout(()=>{ console.log(i);//5个5 },1) }; for(let j = 0;j < 5;j++) { setTimeout(()=>{
2021-03-06 17:15:05 140 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人