![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js手写
大A.小b.小c.
这个作者很懒,什么都没留下…
展开
-
手写call、apply、bind
call、apply、bind 都可以改变函数的this指向 call 接受多个参数,第一个参数代替执行的this,后面的都是函数传入的参数----会立即执行函数 Function.prototype.wcall = function(content = window){ // 给原对象增加一个属性,并赋值给被执行的函数 content.fn = this // 拿到除了第一个参数之外后面的参数 let rest = [...arguments].slice(1) // 拿到函数的执行结果原创 2021-10-12 15:59:24 · 36 阅读 · 0 评论 -
手写一个new操作符
手写一个new操作符 new操作符的作用: 创建一个新的对象,意思是在内存地址中会开辟一个新的空间 生成的新的对象的__proto__ 会指向构造函数的 prototype 执行构造函数,并将其this指向新对象 返回一个新的对象 实现 function New(func){ // 1. 首先创建一个对象 var res = {} // 2. 判断构造函数的prototype是否存在,存在则将新对象的__proto__ 指向构造函数的prototype if( func.原创 2021-10-08 11:23:32 · 80 阅读 · 0 评论