- 博客(7)
- 收藏
- 关注
原创 Call的实现详细解析
先来复习一下call的用法:改变this的指向,同时可以接受参 var a = 50 const obj = { a: 30 } function test() { let a = 10 console.log(this); console.log(this.a); } test.call(objA) 如果这里不用call改变this的指向,那么结果为a=50.因为此时的this指向wind
2022-01-08 19:56:52 856
原创 New操作符实现原理
为了方便测试与理解,我们先来创建一个构造函数 function Point(x, y, z) { this.x = x; this.y = y; this.z = z; } 然后调用我们自己封装的new方法,可以看到实例化对象可以正常打印。 var p = objectFactory(Point, 5, 2, 3) console.log(p); 再详细介绍它的实现原理之前,需要先理解以下几个方法: 1.Object..
2021-12-29 15:39:20 677
原创 专栏系列【JS部分方法底层原理剖析】--序
在正式内容之前,有一些自己当初自学前端的感悟。在刚入门时,有大量的API、方法等。总是记不住,光是数组的API就有10多个...。(这一点也是一个优势吧,在公司后台写VB时。真的是要啥啥没有,都得自己造轮子,)。一段时间不用,就又记不住了。例如背面试题的时候,问NEW操作符在创建对象时做了哪些事?相信很多人都信手拈来,简直就是送分题啊。但一段时间不接触后还记得这些面试话术的人有多少呢?而且js的很多方法具有高度的相似性,很容易混淆。比如call、apply、bind。这三兄弟我当时是看了又忘,看...
2021-12-22 16:31:53 281
原创 一道关于this指向、闭包、作用域的综合题目引发的思考
今天遇到一道很有意思的this指向的题目,通过对这道题的逐步剖析和延伸,能对匿名函数、this指向、作用域、箭头函数的指向等有一个更加深刻的认识。我们先来看代码 var number = 2; var obj = { number: 3, db1: (function(){ console.log(this); this.number *= 4; return function(){ console.log(this); this.number *= ...
2021-12-21 22:30:25 266 1
原创 async的理解
网上介绍async的文章有很多,但很多初学者在第一次接触时往往看得云里雾里。本文通过对一段代码执行过程的解析,希望能帮助到更多的r 1.首先要明确async的本质是Generator的语法糖
2021-12-20 22:29:13 516
原创 JS高级重点知识
一.对象创建的方式 a.字面量创建 优点:简单 缺点: 1.无法批量创建相同对象 2.无法通过迭代的方式动态创建对象 b.工厂模式创建 functionFactory(height,weight){ varobj=newObject() obj.height=height obj.weight=weight ...
2021-08-01 10:26:07 114
原创 JS模拟继承方式对比
1.冒充继承:通过修改父级构造函数的this指 //人类 functionPeople(name,age,height){ this.name=name this.age=age this.height=height this.show=function(){ console.log(`${this.name}的年...
2021-07-31 10:24:59 67
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人