#yyds干货盘点# 手动封装callES6

简介: #yyds干货盘点# 手动封装callES6

前言


我是歌谣 我有个兄弟 巅峰的时候排名c站总榜19 叫前端小歌谣 曾经我花了三年的时间创作了他 现在我要用五年的时间超越他 今天又是接近兄弟的一天人生难免坎坷 大不了从头再来 歌谣的意志是永恒的 放弃很容易 但是坚持一定很酷


导语


手动封装callES6


图片.png

代码部分

//传入两个参数 一个需要绑定的对象 一个传入的参数
  Function.prototype.mycall=function(obj,...args){
    //参数不是对象需要转成对象 当值为null喝undefined的时候默认指向windows
    obj = obj ? Object(obj) : window;
    //设置唯一值
    var key=Symbol()
     //修改this指向 添加一个属性指向this
     console.log(this,"this") //fn(a, b, c)
     console.log(args,"args") //fn(a, b, c)
     console.log(...args,"argsList") //fn(a, b, c)
    obj[key]=this
     //扩展运算符可以把字符串 转化为数组 数组转换为字符串
    var result=obj[key](...args)
    //删除已经绑定的对象属性
    delete obj.geyao
    return result
  }
    var name = 'fangfang';
    var obj = {
        name: 'geyao'
    };
    function fn(a, b, c) {
        console.log(a + b + c + this.name);
        return a + b + c + this.name
    };
    fn.mycall(obj,"我的", "老婆", "是"); // 我的老婆是geyao


总结


验证完成 有所简化



相关文章
|
算法 Java 编译器
C++ | 深入浅出类的封装思想【图文案例,通俗易懂】-1
C++ | 深入浅出类的封装思想【图文案例,通俗易懂】
286 3
|
算法 Java 编译器
C++ | 深入浅出类的封装思想【图文案例,通俗易懂】-3
C++ | 深入浅出类的封装思想【图文案例,通俗易懂】
71 0
|
消息中间件 IDE JavaScript
用代码画时序图!YYDS
最近通过代码来看看这个图,给大家看图、UML ,感觉很给大家分享。 大家平时用他们出的图呢,是用什么样的图,都用画图来画的,我们用画图来画图 呢draw.io?processOn 今天给大家介绍一款想要的作品,用的画图,配合IDE使用PlantUML!
用代码画时序图!YYDS
|
存储 编译器 程序员
C++ | 深入浅出类的封装思想【图文案例,通俗易懂】-2
C++ | 深入浅出类的封装思想【图文案例,通俗易懂】
381 0
|
7月前
|
Java 容器
对于所有对象都通用的方法⭐良好习惯总结(避免踩坑)
对于所有对象都通用的方法⭐良好习惯总结(避免踩坑)
|
6月前
|
Java
19. 【Java教程】封装
19. 【Java教程】封装
23 0
|
7月前
|
前端开发
前端知识笔记(四)———深浅拷贝的区别,如何实现?
前端知识笔记(四)———深浅拷贝的区别,如何实现?
62 0
|
前端开发
前端扫盲202307手写call(2)
前端扫盲202307手写call
63 0
|
前端开发
前端扫盲202307手写call(1)
前端扫盲202307手写call
60 0
|
安全 Java 编译器
❤️【Java】图文深入解析 继承、多态、接口(超详细,小白一看就会)❤️
看完本章文,你会学习到 包,继承,多态思想,抽象类,接口,具体看目录即可。
303 0
❤️【Java】图文深入解析 继承、多态、接口(超详细,小白一看就会)❤️