JavaScript
文章平均质量分 58
JavaScript日常学习的知识点
UNstrained.
学习ing
展开
-
JavaScript继承的方法和优缺点
在一个函数A内部创建一个临时性的构造函数,然后将传入的对象作为这个构造函数的原型,最后返回这个临时类型的一个新实例。在父类型构造函数中定义的引用类型值的实例属性,会在子类型原型上变成原型属性被所有子类型实例所共享。在父类型的原型中定义的方法,对子类型而言也是不可见的,结果所有类型都只能使用构造函数模式。本质上,就是使用寄生式继承来继承超类型的原型,然后再将结果指定给子类型的原型。无论在什么情况下,都会调用两次超类型构造函数:一次是在创建子类型原型的时候,另一次是在子类型构造函数内部。原创 2024-05-03 17:03:28 · 767 阅读 · 1 评论 -
apply、call、bind作用与区别
call、apply、bind的作用都是改变函数运行时的this指向。bind和call、apply在使用上有所不同。原创 2024-04-26 20:33:08 · 354 阅读 · 1 评论 -
JavaScript数组去重方法
对象属性、new Set() 、indexOf、hasOwnProperty、reduce+includes等实现数组去重原创 2024-04-26 12:56:11 · 269 阅读 · 1 评论 -
js事件循环
包括:process、nextTick、promise.then()、object.observe、MutationObserver。包括:script、setTimeout、setInterval、setImmeditate、I/O、UI、rendering。js是单线程的,但是又需要一种机制来处理多个块的执行,且执行每个块时调用js引擎,这种机制称为事件循环。事件循环分为3部分:主线程,宏队列,微队列。原创 2023-12-29 17:43:41 · 385 阅读 · 1 评论 -
说一下闭包
闭包 一个函数和词法环境的引用捆绑在一起,这样的组合就是闭包(closure)。一般就是一个函数A,return其内部的函数B,被return出去的B函数能够在外部访问A函数内部的变量,这时候就形成了一个B函数的变量背包,A函数执行结束后这个变量背包也不会被销毁,并且这个变量背包在A函数外部只能通过B函数访问。原创 2023-12-28 17:57:56 · 378 阅读 · 1 评论 -
原型与原型链
原型链查找规则:从当前实例属性去查找,如果找到了就返回,否则顺着原型链一层一层往上面找。原型链:_proto_ => [[prototype]] =>大家都有。原型:prototype =>函数特有。原创 2023-12-27 11:45:34 · 446 阅读 · 1 评论 -
JavaScript防抖与节流
以监听输入表单和鼠标移动事件为例,使用闭包实现。(也可以通过时间戳实现)防抖:固定时间内,事件只允许发生一次。节流:一定时间内的多个事件合为一个。应用场景:提交表单,高频监听事件。原创 2023-12-27 10:39:38 · 1044 阅读 · 1 评论 -
JavaScript期约1
在执行函数中,解决的值和拒绝的理由是分别作为resolve()和reject()的第一个参数往后传的。在返回新期约实例方面,Promise.prototype.catch()的行为与 Promise.prototype.then()的onRejected处理程序是一样的。拒绝期约的错误并没有抛到执行同步代码的线程李,而是通过浏览器异步消息队列来处理,代码一旦开始以异步模式执行,则唯一与之交互的方式就是使用异步结构,就是期约的方法。如果给它传一个期约对象,则这个期约会成为它返回的拒绝期约的理由。原创 2023-05-07 21:16:21 · 92 阅读 · 1 评论