var,let,const的区别 let,var,constvar在ES5中,顶层对象的属性和全局变量是等价的,用var声明的变量既是全局变量,也是顶层变量 注意:顶层对象,在浏览器环境指的是window对象,在 Node 指的是global对象 12var a = 10console.log(window.a) // 10 var声明具有变量提升 12console.log(a)var a = 10 在编译后会变成 123v 2023-03-30 前端面试 #前端 #javascript
for..in,for..of区别 for..in和for..of for .. in 遍历得到 key 可枚举的数据:数组、字符串、对象 for .. of 遍历得到 value 可迭代的数据:数组、字符串、Set、Map 是否可枚举: Object.getOwnPropertyDescriptors(obj) -> enumerable: true 是否可迭代: arr[Symbol.iterator]() 2023-03-30 前端面试 #前端 #javascript
Promise详解 Promise 解决回调地狱问题 当我们new一个promise,此时我们需要传递一个回调函数,这个函数为立即执行的,称之为(executor) 这个回调函数,我们需要传入两个参数回调函数,reslove,reject(函数可以进行传参) 当执行了reslove函数,会回调promise对象的.then函数 当执行了reject函数,会回调promise对象的.catche函数 Execut 2023-03-28 前端面试 #前端 #JavaScript #Promise
eventloop的机制/微任务/宏任务 EventLoop机制事件循环机制 javascript是一个单线程的语言 任务类型 执行顺序 JS是从上到下一行一行执行。 如果某一行执行报错,则停止执行下面的代码。 先执行同步代码,再执行异步代码(先执行微任务,在执行宏任务) 微任务>Dom渲染>宏任务 EventLoop过程 同步代码,一行一行放入Call Stack中执行 遇到异步,会先“记录”下,等待执行时机(set 2023-03-24 前端面试 #javascript #eventloop
手写防抖和节流 防抖和节流 共同点 区别 防抖debounce 在事件被频繁触发时 只执行最后一次 input输入 节流throttle 减少事件执行的次数 有规律的进行 拖拽,scroll 防抖123456789101112131415161718192021222324252627<!DOCTYPE html><html lang="en">& 2023-03-22 前端面试 #前端 #JavaScript #防抖和节流
手写深拷贝 手写深拷贝深拷贝深拷贝是将一个对象从内存中完整的拷贝一份出来,从堆内存中开辟一个新的区域存放新对象(新旧对象不共享同一块内存),且修改新对象不会影响原对象(深拷贝采用了在堆内存中申请新的空间来存储数据,这样每个可以避免指针悬挂) 浅拷贝如果属性是基本类型,拷贝的就是基本类型的值,如果属性是引用类型,拷贝的就是内存地址(新旧对象共享同一块内存),所以如果其中一个对象改变了这个地址,就会影响到另一个对 2023-03-22 前端面试 #前端 #JavaScript #深拷贝
网络层计算机网络1.因特网概述1.1网络、互连网(互联网)和因特网 **网络(Network)由若干结点(Node)和连接这些结点的链路(Link)**组成。 多个网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(或互连网)因此,互联网是“网络的网络(Network of Networks) “。 **因特网(Internet)**是世界上最大的互连网络(用户数以亿计,互 2023-03-11
SpringCloud SpringCloud 什么是微服务In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with 2023-03-03 微服务 #SpringCloud #微服务
设计模式 1.设计模式七大原则 编写软件过程中,程序员面临着来自耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性等多方面的挑战,设计模式是为了让程序(软件),具有更好 代码重用性(即:相同功能的代码,不用多次编写) 可读性(即:编程规范性,便于其他程序员的阅读和理解) 可扩展性(即:当需要增加新的功能时,非常的方便,称为可维护) 可靠性(即:当我们增加新的功能后,对原来的功能没有影响) 使程序呈现高 2023-03-01 设计模式 #设计模式