首页 > 其他分享 >手动封装callES6

手动封装callES6

时间:2023-08-03 11:01:12浏览次数:30  
标签:args obj name 手动 console callES6 封装 fn log


 

目录

前言

导语

 代码部分

总结


前言

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

导语

手动封装callES6

手动封装callES6_运算符

手动封装callES6_字符串_02编辑

 代码部分

//传入两个参数 一个需要绑定的对象 一个传入的参数
  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

手动封装callES6_运算符_03

总结

验证完成 有所简化


标签:args,obj,name,手动,console,callES6,封装,fn,log
From: https://blog.51cto.com/u_14476028/6947424

相关文章

  • node封装一个图片拼接插件
    说在前面平时我们拼接图片的时候一般都要通过ps或者其他图片处理工具来进行处理合成,这次有个需求就需要进行图片拼接,而且我希望是可以直接使用代码进行拼接,于是就有了这么一个工具包。插件效果通过该插件,我们可以将图片进行以下操作:1、横向拼接两张图片如下,我们有这么两张......
  • 问chatgpt:java或者三方jar包,bean属性复制的,但是两个字段的名称不一致,有没有这样的方
    是的,Java中有一些库和框架可以实现对象属性的复制和映射,而无需手动编写getter和setter方法。其中比较常用的是ApacheCommonsBeanUtils和SpringFramework的BeanUtils。使用ApacheCommonsBeanUtils,你可以使用copyProperties方法来复制对象属性。示例代码如下:点击查......
  • C++逆向分析——继承与封装
    面向对象程序设计之继承与封装之前已经学习过继承和封装了,但是要在实际开发中使用,光学语法和原理是不够的,在设计层面我们需要做一些优化。如下代码是继承的例子:#include<stdio.h>classPerson{public:intAge;intSex;voidWork(){printf("Person:Work()"......
  • 封装的axios请求
    axios实例常用配置letrequest=axios.create({baseURL:'http://localhost:8080',//请求的域名,基本地址timeout:5000,//请求的超时时长,单位毫秒url:'/data.json',//请求的路径method:'get,post,put,patch,delete',//请求方法headers:{token:''//比如to......
  • 封装性
    高内聚,低耦合高内聚:类的内部数据操作细节自己完成,不允许外部干涉低耦合:仅对外暴露少量的方法用于使用封装性隐藏对象内部的复杂性,只对外暴露一个简单的接口(API),便于外界调用,从而提高系统的可扩展性、可维护性体现:将类的属性私有化,并提供公共的方法来获取和设置该属性的值......
  • 封装获取chrome和ie的webdriver
    importtimefromseleniumimportwebdriverfromselenium.webdriver.chrome.serviceimportServiceasChromeServicefromwebdriver_manager.chromeimportChromeDriverManagerfromselenium.webdriver.ie.serviceimportServiceasIEServicefromwebdriver_manag......
  • DOM拖拽移动位置封装
    classDrage{constructor(){this.refthis.draggingFlag=falsethis.initXthis.initYthis.currentXthis.currentYthis.offsetX=0this.offsetY=0this.style=`z-index:999999;`}listen(ref,style){thi......
  • 电商API接口对接(商品详情,评论,按图搜图,订单列表)代码封装,可高并发
    淘宝API接口对接需要以下步骤:申请淘宝开放平台账号:在淘宝开放平台(注册账号,并创建自己的应用)选择API接口:根据需要的功能,选择相应的API接口,例如商品API接口、店铺API接口、订单API接口等。获取授权:使用OAuth2.0授权方式,获取用户或店铺的授权,才能够访问和调用API接口。调用API接口:按照......
  • 分页批量请求数据封装
    关于淘宝接口每次最多取100个,需要分页获取的封装总体思路采取迭代器的方式来多次发送请求. TOPCollection<TOPArticleOrder>orders=session.getArticleOrdersByNick(articleCode,start,end,nick);size=saveOrders(orders.toList()); 最终调用TOPCollection中的toList()......
  • 手动封装call
     目录前言导语代码封装部分验证总结前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从头再来歌谣的意志是永恒的放弃很容易但是坚持一定很酷导语歌谣歌谣......