
前端八股文
文章平均质量分 56
前端八股文
James_liPeng
软件开发工程师,定期做技术分享
展开
-
for in 和for of 的区别(js)
同时也可以使用Object.keys() 来获取对象的属性集合(但是Object.keys()不会遍历对象的原型属性)for of 不能遍历对象,可以遍历set map array string等iterable。for in 可以遍历数组和对象, 得到的是对象的属性集合或string类型的数组下标。for in一般会用来遍历对象, 来获取到对象的属性集合。2. 遍历对象的时候可以遍历原型上的属性。1. 得到的数组下标类型是string。3. 遍历的顺序可能不是实际内部的顺序。for of 获得的是值。原创 2023-12-30 22:15:00 · 488 阅读 · 0 评论 -
js 七种继承方法
缺点: 共享引用类型的值(在A子类修改父类的引用类型值,B子类访问时会受影响), 会覆盖子类原来的原型(可通过子类.prototype.constructor = 子类来纠正),子类创建实例时无法向父类构造函数穿参。组合继承是常用的经典继承模式,不过,组合继承最大的问题就是无论什么情况下,都会调用两次父类构造函数;本质上,就是使用寄生式继承来继承超类型的原型,然后再将结果指定给子类型的原型。核心: 利用 in 关键字可以遍历到自己和原型上的成员, 把父类实例的所有内容, 遍历一份到子类的原型上。原创 2023-12-29 23:00:00 · 656 阅读 · 0 评论 -
如何预防cookie被盗用
虽然方式1能防止攻击者通过javascript脚本的方式窃取cookie,但是没办法防止攻击者通过fiddler等抓包工具直接截取请求数据包的方式获取cookie信息,这时候设置secure属性就显得很重要,当设置了secure=true时,那么cookie就只能在https协议下装载到请求数据包中,在http协议下就不会发送给服务器端,https比http更加安全,这样就可以防止cookie被加入到http协议请求包暴露给抓包工具啦。原创 2023-12-29 10:28:59 · 843 阅读 · 0 评论 -
TCP三次握手和TCP四次挥手
MSL是报文的最大结束时间一个是让客户端发送的确认报文能够到达服务器,避免和新的连接报文出现交叉,二是如果服务端在一段时间内没有接收到确认报文就会重新发送一个报文,等待时间就能保证客户端能接收到所有的服务器端发送的报文,防止这个时间段内出现其他报文没有接收到的情况。原创 2023-06-17 08:10:56 · 415 阅读 · 0 评论 -
手写-js数组去重(7种方法)
数组的去重方法有很多种,本文主要讲比较容易理解的几种。原创 2023-06-17 08:10:23 · 694 阅读 · 0 评论 -
手写-js节流(定时器+时间差两种方式)
开始时间startTime我们初始值为0就好, 当第一次执行时, nowTime获取的时间戳是一个非常大的值, 得到的结果waitTime是负值, 所以第一次执行节流函数, 一定会立即执行, 这也符合我们要封装的效果。waitTime = interval - (nowTime - startTime), 当前的时间减去开始的时间得到结果, 再使用间隔时间减去这个结果, 就可以得到等待时间。: 实现节流函数, 我们使用定时器是不方便管理的, 实现节流函数我们采用另一个思路。原创 2023-06-17 08:09:35 · 961 阅读 · 0 评论 -
手写防抖(含立即执行和取消)
特定时间内多次触发事件,事件处理函数只能执行一次,并且是在触发操作结束时执行。也就是说,当一个事件被触发准备执行事件函数前,会等待一定的时间(这时间是码农自己去定义的,比如 1 秒),如果没有再次被触发,那么就执行,如果被触发了,那就本次作废,重新从新触发的时间开始计算,并再次等待 1 秒,直到能最终执行!2.立即执行防抖函数1(立即执行,规定时间内触发多次防抖函数,只执行第一次和最后一次)3. 立即执行防抖函数2(只执行特定时间内的首次触发)原创 2023-06-07 18:13:57 · 722 阅读 · 0 评论