首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
javascript
一人一段寻常
创建于2023-02-27
订阅专栏
关于js的一些算法和基础知识点
暂无订阅
共14篇文章
创建于2023-02-27
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Object.is() 与原来的比较操作符 “===”、“==” 的区别?
使用双等号进行相等判断时,如果两边的类型不一致,则会进行强制类型转化后再进行比较。 使用三等号进行相等判断时,如果两边的类型不一致时,不会做强制类型准换,直接返回 false。 使用 Object.i
js创建对象 6种方式
``` 1.工厂模式 用函数来封装创建对象 创建出来的对象无法和某个类型联系起来(就是怎样知道一个对象的类型是什么) function createPerson(name, age, job){ le
vue框架中如何比较两个 DOM 树的差异?
两个树的完全 diff 算法的时间复杂度为 O(n^3) ,但是在前端中,我们很少会跨层级的移动元素,所以我们只需要比较同一层级的元素进行比较,这样就可以将算法的时间复杂度降低为 O(n)。 算法首先
三种事件模型是什么?
事件是用户操作网页时发生的交互动作或者网页本身的一些操作,现代浏览器一共有三种事件模型。 第一种事件模型是最早的 DOM0 级模型,这种模型不会传播,所以没有事件流的概念,但是现在有的浏览器支持以冒泡
常用正则表达式
推荐一个vscode里常用的正则表达式插件:any-rule;``` // (1)匹配 16 进制颜色值 var regex = /#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})/g
Reflect 对象创建目的?
1.将 Object 对象的一些明显属于语言内部的方法(比如 Object.defineProperty,放到 Reflect 对象上。 2.修改某些 Object 方法的返回结果,让其变得更合理。
函数柯里化的实现
``` // 函数柯里化指的是一种将使用多个参数的一个函数转换成一系列使用一个参数的函数的技术。 function curry(fn, args) { // 获取函数需要的参数长度 let lengt
手写一个观察者模式?
``` var events = (function() { var topics = {}; return { // 注册监听函数 subscribe: function(topic, handle
中介者模式是什么?观察者模式和发布订阅模式有什么不同?
中介者模式指的是,多个对象通过一个中介者进行交流,而不是直接进行交流,这样能够将通信的各个对象解耦。 发布订阅模式其实属于广义上的观察者模式 在观察者模式中,观察者需要直接订阅目标事件。在目标发出内容
js 中的深浅拷贝实现?
浅拷贝指的是将一个对象的属性值复制到另一个对象,如果有的属性的值为引用类型的话,那么会将这个引用的地址复制给对象,因此两个对象会有同一个引用类型的引用。浅拷贝可以使用 Object.assign 和展
谈谈我对 This 对象的理解
1.第一种是函数调用模式,当一个函数不是一个对象的属性时,直接作为函数来调用时,this 指向全局对象。 2.第二种是方法调用模式,如果一个函数作为一个对象的方法来调用时,this 指向这个对象。 3
一个通用的事件侦听器函数
``` const EventUtils = { // 视能力分别使用dom0||dom2||IE方式 来绑定事件 // 添加事件 addEvent: function(element, type,
为什么使用 setTimeout 实现 setInterval?怎么模拟?
setInterval 的作用是每隔一段指定时间执行一个函数,但是这个执行不是真的到了时间立即执行,它真正的作用是每隔一段时间将事件加入事件队列中去,只有当当前的执行栈为空的时候,才能去从事件队列中取
谈一谈浏览器的缓存机制?
``` 浏览器的缓存机制指的是通过在一段时间内保留已接收到的 web 资源的一个副本,如果在资源的有效时间内,发起了对这个资源的再一次请求,那么浏览器会直接使用缓存的副本,而不是向服务器发起请求。使用