使用apply调用函数
2024-09-07 02:56:07
实现函数 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');
最新文章
- Linux VMware 克隆后无法启动eth0网卡
- cs11_c++_lab4a
- windbg学习----.process
- <;转>;iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!
- 简单看看ThreadPool的源码以及从中看出线程间传值的另一种方法
- BZOJ-1003 物流运输trans SPFA+DP
- SQL Server 收缩数据库
- 在VBA中调用工作表函数
- C#反射技术的相关使用方法
- ueditor-百度编辑器插件
- sass转换为css
- RMAN数据库恢复之控制文件和参数文件恢复
- D - 二叉树遍历(推荐)
- 【.net 深呼吸】获取日期的干支纪年
- JavaScript学习笔记(八)——变量的作用域与解构赋值
- IE6的兼容性以及处理方法
- 关于.Net的知识和相关书籍
- spring(一)--spring/springmvc/spring+hibernate(mybatis)配置文件
- python之路--基础数据类型的补充与深浅copy
- CPP_const&;static