js多个参数(追加参数)
/**
* 多个参数
* @param fn
* @param args
* @param scope
*/
function multipleArguments(fn,args,scope){
if(Object.prototype.toString.call(args)!="[object Array]"){
if(args!=null&&args!=undefined){
args = [args];
}
}
return function(){
//追加args,之后逐次追加参数
/*
第1次调用:
args+第1次调用传入的参数
第2次调用:
args+第1次调用传入的参数+第2次调用传入的参数
第3次调用:
args+第1次调用传入的参数+第2次调用传入的参数+第3次调用传入的参数
*/
/*
for(var i=0;i<arguments.length;i++){
args.push(arguments[i]);//将参数追加到args中
}
fn.call(scope||window,args);
*/ //只追加传入的args
/*
第1次调用:
args+第1次调用传入的参数
第2次调用:
args+第2次调用传入的参数
第3次调用:
args+第3次调用传入的参数
*/
var _args = [].concat(args);
for (var i = 0; i < arguments.length; i++){
_args.push(arguments[i]);
}
fn.call(scope||window,_args);
} }
具体使用例子如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title></title>
<script type="text/javascript" src="./js/MultipleArguments.js"></script>
<script type="text/javascript">
window.onload=initFn; /**
* 初始化函数
*/
function initFn(){
console.info('123456~~~');
var addFn = multipleArguments(add,[1,2]);
var result = addFn(3,4);
console.info('result:',result); var result1 = addFn(5,6);
console.info('result1:',result1); var result2 = addFn(7,8);
console.info('result2:',result2); var addFn1 = multipleArguments(add,[9,10]);
var result3 = addFn1(11,12);
console.info('result3:',result3); var result4 = addFn(13,14);
console.info('result4:',result4);
} /**
*加法
*/
function add(){
console.info("arguments:",arguments);
var result = 0;
for(var i=0;i<arguments.length;i++){
result+=arguments[i];
}
return result;
}
</script>
</head>
<body> </body>
</html>
js多个参数(追加参数)的更多相关文章
- javascript序列化表单追加参数
js序列化表单后追加参数方式: 追加参数:token,status var data = $.param({"token":token, "status":st ...
- 【问题】Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数
[问题]Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数. [解决]直接对变量加引号,如: <button onclick="deleteProduct('@ ...
- 从js向Action传中文参数出现乱码问题的解决方法
Action获取jsp表单中的中文参数,只要整个项目都采用UTF-8编码格式都不会出现乱码问题:但JSP中用到JS,并从JS向Action传中文参数,就会出现中文乱的现象 做项目的时候,发现A ...
- js 替换 当前URL 特定参数
js 替换 当前URL 特定参数 2012-12-24 20:45:53| 分类: JS&JQuery |举报 |字号 订阅 //替换指定传入参数的值,paramName为参数,repl ...
- js中settimeout方法加参数
js中settimeout方法加参数的使用. 简单使用看w3school 里面没有参数调用, 例子: <script type="text/javascript"> ...
- js获得url内的参数
/** * js获得url内的参数 * 返回值: string or undefined * 使用方法:$_GET['from'] */ var $_GET = (function() { var s ...
- Js把URL中的参数解析为一个对象
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8" /> <title&g ...
- js 获取url中的参数 修改url 参数 移除url参数
js 获取url中的参数 修改url 参数 移除url参数 var jsUrlHelper = { getUrlParam : function(url, ref) { var str = " ...
- js获取url传递得参数
方法一:正则法 function getQueryString(name) { var reg = new RegExp('(^|&)' + name + '=([^&]*)(& ...
随机推荐
- Java多线程编程核心技术-第3章-线程间通信-读书笔记
第 3 章 线程间通信 线程是操作系统中独立的个体,但这些个体如果不经过特殊的处理就不能成为一个整体.线程间的通信就是成为整体的必用方案之一,可以说,使线程间进行通信后,系统之间的交互性会更强大,在大 ...
- Nginx反向代理服务器的安装与配置
Nginx反向代理服务器的安装与配置 时间:10月19日 Nginx反向代理有不少需要我们解决的问题,其中有不少问题是基于安装上的问题,在安装完成后的相关调试也让很多人头疼不已.下面就向大家介绍有关于 ...
- NOIP 2006 明明的随机数
洛谷 P1059 明明的随机数 洛谷传送门 JDOJ 1423: [NOIP2006]明明的随机数 T1 JDOJ传送门 Description 明明想在学校中请一些同学一起做一项问卷调查,为了实验的 ...
- HDU2650 A math problem——高斯素数
题意 给你一个数 $a+bj, \ j=\sqrt {-2}$,如果它只能被1.-1.本身和本身的相反数整除,则输出Yes,否则输出No. 分析 高斯整数 $a+bi$ 是素数当且仅当: (1)$a, ...
- 2016 ACM/ICPC亚洲区青岛站
A B C D E F G H I J K L M O O O O $\varnothing$ $\varnothing$ $\varnothing$ $\varnothing$ ...
- 分布式环境配置虚拟域名,phpstudy配置虚拟域名,集成环境配置域名,域名禁止访问forbidden怎么解决
重启Apache,测试:
- 表格插件BootStrap-Table使用教程
Bootstrap table 是一款基于 Bootstrap 的 jQuery 表格插件,功能比较完备,能够实现数据异步获取,编辑,排序等一系列功能. 官网https://bootstrap-tab ...
- linux定时器的实现方法
Linux提供定时器机制,可以指定在未来的某个时刻发生某个事件,定时器的结构如下: struct timer_list { struct list_head list; unsigned long e ...
- Echarts数据更新大坑
今天使用了一个Echarts来实现柱状图和直线图统计组合,每次通过axios(ajax库)来请求新数据来刷新数据,但是发现请求数据确实是对应变化到了options变量中,后台数据条数只有一条,但是图表 ...
- 【caffe编译】 fatal error: hdf5.h: 没有那个文件或目录
src/caffe/layers/hdf5_output_layer.cpp:3:18: fatal error: hdf5.h: 没有那个文件或目录 查找文件 locate hdf5.h 修改Mak ...