arguments实质为个数组,里面存的是传给函数的参数,因为是数组,所以有length属性,通过length属性可以知道里面有几个变量。对于参数不固定的函数,求所有参数的和,思路如下:
(1)定义一个函数,给函数命名。
(2)将所有参数放到要用的函数。
(3)根据要求,要求所有
参数的和的结果,把开始的结果存在一个定义的变量里,初始值为0。
(4)对每次函数的结果依次求和,用循环,并把每次求和的结果赋给存结果参数的变量求和放在那个变量里
(5)输出返回值。
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>返回值</title> </head> <script type="text/javascript"> function sum(){ var result=0; for(var i=0;i<arguments.length;i++){ result+=arguments[i]; } return result; } alert(sum(6,5,4,3)); </script> <body> </body> </html>
(6)css(oDiv,'width')-----获取样式
css(oDiv,'width','200px')----设置样式
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>返回值</title> </head> <script type="text/javascript"> function css(){ if(arguments.length==2){ return arguments[0].style[arguments[1]] } else{ return arguments[0].style[arguments[1]]=arguments[2]; } } window.onload=function(){ var oDiv=document.getElementById('div1'); css(oDiv,'background','green') } </script> <body> <div id="div1" style="200px;height:200px;background:red;"></div> </body> </html>
其实,这种方式并不是我们常用的,arguments[0],arguments[1],arguments[2]写写起来并不是很方便,我们可以用参数代替。
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>返回值</title> </head> <script type="text/javascript"> function css(obj,name,value){ alert(obj==arguments[0]); if(arguments.length==2){ return obj.style[name] } else{ return obj.style[name]=value; } } window.onload=function(){ var oDiv=document.getElementById('div1'); css(oDiv,'background','green') } </script> <body> <div id="div1" style="200px;height:200px;background:red;"></div> </body> </html>