文档章节

使用apply调用函数

o
 osc_isezqdgg
发布于 2019/09/18 11:37
字数 164
阅读 22
收藏 0

精选30+云产品,助力企业轻松上云!>>>

实现函数 calllt,调用之后满足如下条件
1.返回的结果为调用fn之后的结果
2.fn的调用为calllt的第一个参数之后的全部参数

 

方法1

使用es6

function calllt(...param){
            param.shift(0);
            return fn.apply(this, param);
        }

      function fn(...param){
            console.log(param);
            return 1;
        }

      calllt('asd', 'sddd','ssssssss');

  方法2

循环出一个新数组

function calllt(){  
            var arr = arguments;
            var newarr = [];
            for(var i = 0;i < arr.length;i++){
                newarr.push(arr[i]);
            }
            return fn.apply(this, newarr);
        }  

        function fn(){
            console.log(arguments);
            return 1;
        }

        var back = calllt('sdd', 'sddd');
        console.log(back);

  

  方法3 

使用 

Array.prototype.slice 拷贝成一个新数组
function calllt(){  
            var arr = Array.prototype.slice.call(arguments, 0);
            arr.shift();
            return fn.apply(this, arr);
        }  
        
        function fn(){
            return 1;
        }

        var back = calllt('sdd', 'sddd','aaaaaaaaa');

  

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
一文理解 this、call、apply、bind

文章首发于个人博客 导读 this 记得差不多在两年多之前写过一篇文章 两句话理解js中的this,当时总结的两句话原话是这样的: 普通函数指向函数的调用者:有个简便的方法就是看函数前面有没有...

木子星兮
03/17
0
0
js方法call、apply和bind理解

1. 介绍 刚出来找前端工作的时候,最常见的面试题就是“谈谈你对call和apply的理解”,以前只知道这些名词,但是一点也不理解。随着对jquery的熟悉发现jquery源码中很多都用到了apply方法,就...

家里有颗核桃树
2017/12/14
0
0
JavaScript 中 call()、apply()、bind() 的用法

JavaScript 中 call、apply、bind 的用法 1、call() 使用 call 方法调用父构造函数 使用 call 方法调用匿名函数 使用 call 方法调用函数并且指定上下文的 'this' 使用 call 方法调用函数并且...

felidd
06/22
2
0
手写call、apply、bind

说到call、apply、bind首先是改变this指向的问题(ES5中),其次它们之间的区别,最后光说不练假把式,手写call、apply、bind! this指向 在 ES5 中,其实 this 的指向,始终坚持一个原理: ...

osc_5rzx0ke2
05/04
6
0
浅谈 this、call、apply 、 bind

前言 这是一个前端面试经常考的基础考点,很多初学者在这个问题上都容易踩坑,包括我也是经常性蒙圈。所以这次决定将他们梳理下来,加深自己的理解。如果有出错的地方,欢迎指正。 this 是什...

齐小神
05/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

使用命名管道承载gRPC

最近GRPC很火,感觉整RPC不用GRPC都快跟不上时髦了。 gRPC设计 gRPC是一种与语言无关的高性能远程过程调用 (RPC) 框架。刚好需要使用一个的RPC应用系统,自然而然就盯上了它,但是它真能够解...

osc_nq69o22c
45分钟前
16
0
06-敏捷开发框架-apis 脚本库 引用位置无关性设计

动态引入技术的设计,对我们来说非常重要。 同时也说明动态语言的使用对我们来说也是非常重要。 没有动态语言的支撑,有些想法可能不容易实现,或者有替代方案,可能会花更大的代价。 前端开...

osc_5zg9z6t1
46分钟前
21
0
(三)学习了解OrchardCore笔记——灵魂中间件ModularTenantContainerMiddleware的第一行①的模块部分

  了解到了OrchardCore主要由两个中间件(ModularTenantContainerMiddleware和ModularTenantRouterMiddleware)构成,下面开始了解ModularTenantContainerMiddleware中间件第一行代码。   ...

osc_kdarxvx0
48分钟前
15
0
50Mn18Cr4V锻锻环件

电机无磁护环怎么锻性能才能《高高》?50Mn18Cr4V高锰无磁钢在变形温度为900~1 100℃、应变速率为0.1 ~10s-1条件下的热变形行为. 结果,VC第二相的应变诱导析出对50Mn18Cr4V的热变形行为产生...

无磁钢
48分钟前
16
0
【遇见offer】一汽-大众实习生专场来啦!成长+学习+福利,一个也不能少~

在上次一汽-大众的社招直播之后,实习生的专场招聘也终于来啦! 针对2020年暑期,我们提供了非常多的实习岗位给大家选择。 如果你想得到大厂实习的宝贵经验,如果你想得到更快速的成长,如果...

osc_b88oux8w
49分钟前
25
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部