js中的函数是一个对象,一个Function对象(函数参数列表及函数主体事实上只是Function对象的构造函数的参数而已),跟其他对象一 样可以在运行时增加属性、删除属性,函数参数是可变的,比如定义函数时定义的参数列表只有3个参数,调用时你却可以只传2个参数,或超过3个参数,通过函 数对象的length属性可以得到函数定义的形参个数,而函数调用时的实际参数列表则可以通过函数的arguments属性(一个Arguments对 象,类似于数组)访问到,arguments.length就是实际参数的个数。
参数个数可变的函数,arguments的用法; 可以500%提高开发效率的前端UI框架!
动态函数:
- var square=new Function("x","y","var sum;sum=x*x+y*y;return sum;")alert(square(2,3));
动态函数的作用:函数体是由一个字符串构成的。
- function ArgTest(a, b){
- var i, s = "The ArgTest function expected ";
- var numargs = arguments.length; // 获取被传递参数的数值。
- var expargs = ArgTest.length; // 获取期望参数的数值。
- if (expargs < 2)
- s += expargs + " argument. ";
- else
- s += expargs + " arguments. ";
- if (numargs < 2)
- s += numargs + " was passed.";
- else
- s += numargs + " were passed.";
- s += "/n/n"
- for (i =0 ; i < numargs; i++){ // 获取参数内容。
- s += " Arg " + i + " = " + arguments[i] + "/n";
- }
- return(s); // 返回参数列表。
- }
------------------
自己实现的代码可以500%提高开发效率的前端UI框架!
------------------
- function addrow(responseText)
- {
- //alert(responseText);
- var jsontemp = eval('(' + responseText + ')');
- var length = jsontemp.root.length;
- var type = "";
- var id = "";
- var date = "";
- var sucOrf = "";
- if(length>0)
- {
- for(var i = 0; i<length; i++)
- {
- type = jsontemp.root[i].type;
- id = jsontemp.root[i].id;
- date = jsontemp.root[i].date;
- sucOrf = jsontemp.root[i].sucOrf;
- addDivArgs(type,render(renderType,type),id,"",date,"",sucOrf,render(renderSucOrf,sucOrf));
- //addDiv(type,id,date,sucOrf);
- }
- }
- else
- {
- return;
- }
- backcount = backcount+length;
- if(backcount>=2000)//当记录大于xxx条时重新加载页面
- {
- window.location.reload();
- //window.location.href="addrow.html";
- return;
- }
- container.scrollTop = container.scrollHeight;
- }
- function render(renderFunction,value)
- {
- return renderFunction(value);
- }
- function renderSucOrf(value)
- {
- if(value=="成功")
- {
- return "div3 success";
- }
- else
- {
- return "div3 false";
- }
- }
- function renderType(value)
- {
- if(value=="委托")
- {
- return "div0 success";
- }
- else
- {
- return "div0 false";
- }
- }
//插入div
//传入可变参数的函数 可以500%提高开发效率的前端UI框架!
- var numargs = 0;
- var tmpDiv = null;
- var defaultClass = new Array("div0","div1","div2","div3");//默认样式数组
//动态传入列的值和渲染方法处理后返回的样式,样式为空采用默认的样式
- function addDivArgs(value,render)
- {
- numargs = arguments.length; // 获取被传递参数的数值
- tmpDiv = document.createElement("div");
- tmpDiv.className = "divline";
- for(var i = 0; i < numargs; i+=2)//每列传入两个参数
- {
- tempDivId = document.createElement("div");
- if(arguments[i+1]=="")//每列的第二个参数为空
- {
- tempDivId.className = defaultClass[i*(1/2)];
- }
- else
- {
- tempDivId.className = arguments[i+1];
- }
- tmpDiv.appendChild(tempDivId);
- tempText = document.createTextNode(arguments[i]);
- tempDivId.appendChild(tempText);
- }
- container.appendChild(tmpDiv);
- }
相关推荐
JavaScript允许一个函数传递个数可变的参数,因为有arguments这个内置对象,它一个函数传递的所有参数的数组
主要介绍了JavaScript函数参数使用带参数名的方式赋值传入的方法,实例分析了javascript函数传递参数的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
主要介绍了javascript实现根据函数名称字符串动态执行函数的方法,结合实例形式分析了JS函数名的判断及函数动态调用相关操作技巧,需要的朋友可以参考下
javascript函数式编程 javascript函数式编程 javascript函数式编程
C#与JAVASCRIPT函数的相互调用 C#调用JAVASCRIPT函数的调用 JAVASCRIPT调用C#函数的调用
javascript高效编程和函数式编程指南书籍PDF,适合深入学习javascript
java javascript javascript函数java javascript javascript函数java javascript javascript函数java javascript javascript函数java javascript javascript函数
JavaScript程序设计 函数的参数 5.2.3 函数的参数 概念 函数的参数是函数与外界交换数据的接口。外部的数据通过参数传入函数内部进行处理,同时函数内部的数据也可以通过参数传到外界。 函数定义时圆括号里的参数...
获取Javascript函数名称 获取Javscript执行函数名称的方法
JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)...
JavaScript的一些工具函数的封装,包括url的参数处理、数字-字符串-日期等相关操作函数
先来看看应用场景,使用arguments传入任意个数的参数到js函数里的写法。 function Test() { console.log(arguments[0]); console.log(arguments[1]); console.log(arguments[2]); }; Test(1, 2, 3); 输出 1 2 3;...
JavaScript数字格式化函数,很好用的
JavaScript函数的定义方法及函数的参数和优化.docx
这是一个JavaScript获取浏览器参数的方法,
javascript函数速查javascript函数速查javascript函数速查javascript函数速查
JavaScript 轻量级函数式编程 JavaScript 轻量级函数式编程
几个常用javascript函数,可做参考!!1
全书共9章,分别介绍了JavaScript函数式编程、一等函数与Applicative编程、变量的作用域和闭包、高阶函数、由函数构建函数、递归、纯度和不变性以及更改政策、基于流的编程、类编程。除此之外,附录中还介绍了更多...