JavaScript进阶系列
文章平均质量分 88
JavaScript进阶系列
easylee1996
这个作者很懒,什么都没留下…
展开
-
彻底搞懂JavaScript原型和原型链
JavaScript是基于原型编程,创建对象是通过克隆对象的形式,不是通过类创建。函数都拥有prototype原型属性,实例化对象的__proto__属性指向这个原型属性,对象可以直接调用原型对象的方法和属性,不用写__proto__再调用,两者效果一致。对象的__proto__指向构造函数的prototype,构造函数的prototype同样是对象,其__proto__指向上一层原型对象,直到,形成原型链。原创 2024-05-23 14:35:23 · 420 阅读 · 0 评论 -
XPath从入门到精通:基础和高级用法完整指南,附美团APP匹配示例
父节点 (Parent): HTML 是 DIV 和 P 节点的父节点;子节点 (Child):DIV 和 P 是 HTML 的子节点;兄弟节点 (Sibling):拥有同样的一个父节点,DIV 和 P 就是兄弟节点。类似的 span、img 和 i 也是兄弟节点。祖先节点 (Ancestor):html 是 span 的祖先节点,隔开一级;后代节点 (Descendant):span 是 HTML 的后代节点,隔开一级。原创 2024-02-01 11:42:23 · 1184 阅读 · 1 评论 -
JavaScript到底应不应该加分号?JavaScript自动插入分号规则详解
是否添加和是否手动加是两回事,我们可以用 eslint、Prettier 等工具自动生成或者删除分号,是否手动加可以看个人喜好,最终代码内可以根据项目要求用工具生成。但都要注意必须添加分号的几种情况。原创 2024-01-18 14:39:04 · 472 阅读 · 1 评论 -
JavaScript forEach 方法跳出循环
可以看到同样报错,continue不能在非循环语句中,原因是forEach的参数是一个回调函数,并不是循环语句,所以无法执行continue语句。来跳出循环应该如何操作呢,上面文档中没有提到,但可以使用。可以看到,直接使用break,会报非法中断语句错误。除了for循环,常用的forEach如何退出呢?JavaScript中,for循环可以使用。综上,使用forEach时,使用。里面也提到了解决方法,使用。退出当前循环,以及使用。原创 2024-01-02 14:19:20 · 754 阅读 · 1 评论 -
深入理解JavaScript堆栈、事件循环、执行上下文和作用域以及闭包
首先需要明确的是JavaScript是单线程语言,所有代码都执行在一个线程中,这通常会导致一个问题,当一个方法耗时过长,整个页面随之卡住,所以为了避免这种情况发生,JavaScript中存在事件循环的机制(并非JavaScript创造),来循环执行事件,堵塞的事件通过循环在后期再来判断是否执行完成,比如读取接口,后期再来看接口是否请求完成,请求完成之后再执行对应的回调函数(接口请求是浏览器提供的能力,不占用单线程)。好了,第一轮事件循环正式结束,这一轮的结果是输出1,7,6,8。那么第二轮时间循环从。原创 2024-01-10 19:14:01 · 950 阅读 · 0 评论 -
JavaScript this 绑定详解
临时绑定对象一般使用call和apply即可,像是很多框架中,使用bind来绑定并创建新的函数,之后均使用新函数即可,这样做的好处是,可以固定的绑定一个对象,因为新函数是绑定后创建的,那么里面的。,对象一定有一个引用函数的属性,通过这个引用,间接的将函数里面的this绑定到这个对象中。通过一个对象,调用对象里面的函数,也就是通过某个对象发起的函数调用,此时函数的。的绑定和函数定义的位置没有关系,和调用的方式和调用位置有关系,函数内的。如果使用自执行的方式去执行,引用其它对象的函数的这种形式,那么会指向。原创 2024-01-08 17:30:51 · 876 阅读 · 0 评论 -
JavaScript apply、call、bind 函数详解
对象的指向,只是使用方式有不同,其中 apply 传递多个参数使用数组的形式,call 则直接传递多个参数,而 bind 则可以将绑定时传递的参数保留到调用时直接使用,支持柯里化,同时 bind 不会直接调用,绑定之后返回一个新函数,然后通过调用新函数再执行。,和前面两者主要的区别是,通过 bind 绑定的不会立即调用,而是返回一个新函数,然后需要手动调用这个新函数,来实现函数内部。上,成为obj的一个函数,同时里面的。两者主要的区别在于,当函数有多个参数时,是直接传入多个参数,而。方法,将函数绑定到了。原创 2024-01-08 17:29:44 · 1539 阅读 · 0 评论