JavaScript难点
文章平均质量分 84
蒋宗正啊
小小的码农,大大的梦。长期招前端后端,坐标上海,要的私聊
展开
-
JavaScript原理剖析(js运行机制)
javaScript为什么是单线程 JavaScript的单线程,与它的用途有关。作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM。这决定了它只能是单线程,否则会带来很复杂的同步问题。比如,假定JavaScript同时有两个线程,一个线程在某个DOM节点上添加内容,另一个线程删除了这个节点,这时浏览器应该以哪个线程为准? 所以,为了避免复杂性,从一诞生,JavaScript就是单线程,这已经成了这门语言的核心特征,将来也不会改变。 同步和异步 单线程就意味着,所有任务需要排队,原创 2021-02-28 20:06:21 · 388 阅读 · 0 评论 -
js继承
js继承的几种方式 1原型链继承 原型链继承是比较常见的继承方式之一,其中涉及的构造函数、原型和实例,三者之间存在着一定的关系,即每一个构造函数都有一个原型对象,原型对象又包含一个指向构造函数的指针,而实例则包含一个原型对象的指针。 下面我们结合代码来了解一下。 function Parent1() { this.name = 'parent1'; this.play = [1, 2, 3] } function Child1() { this.type = 'child2原创 2021-01-21 12:40:10 · 100 阅读 · 0 评论 -
JavaScript深拷贝与浅拷贝
浅拷贝 定义 浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存。基本类型拷贝的是值,而引用类型拷贝的是地址,且只能拷贝一层对象,假如存在对象的嵌套,那么浅拷贝就无能为力。 浅拷贝方法 object.assign 扩展运算符let cloneObj = {…obj} concat运算符 slice拷贝数组 手工实现 方法一:object.assign 可以理解为Object.assign循环遍历原对象的属性,通过复制的方式将其赋值给目标对象的相应属性,拷贝的是对象的属性的引用,原创 2021-01-14 18:06:32 · 278 阅读 · 0 评论