JavaScript中的函数参数详解
2016-10-20 15:03
183 查看
JavaScript中的函数参数与大多数其他语言的函数参数是完全不同的,且看以下详细解释:
1.JavaScript中调用已经定义好的参数时,函数不介意传进来多少参数,也不介意传进来的参数是什么类型。
举例:
说明:
以上三种函数调用方式args("s","b");args("s");args();都是可以的。也就是说,即便你定义的函数不接收任何参数,调用函数的时候也未必不能传进来任何参数;或者说,当你定义的函数只接收两个参数,然而调用函数的时候你可以不传入参数,或着传入一个参数,两个参数,三个参数等等都是可以的。以上的函数调用,结果为什么是2,1,0,且看下面继续解释此问题
2.接着说到的这个问题是需要重点理解的。实际上,JavaScript函数的参数在内部是用一个数组来表示的,函数想接收参数的时候,始终接收到的是这个数组。那么如何获取数组元素呢?实际上,在函数体内,可以通过arguments对象访问这个参数数组,第一个元素是arguments[0],第二个元素是arguments[1],以此类推。
举例:
说明:
sayHi("Nicholas", "how are you today?");表明函数接收到的第一个参数arguments[0]的值是"Nicholas,",函数接收到的第二个参数arguments[1]的值是"how are you today?"
3.arguments对象可以和命名参数一起使用,arguments对象的值和命名参数的值保持同步。
举例:
说明:
num1和arguments[0]的值都是10,num2和arguments[1]的值都是20,。但是,num1和arguments[0]所占用的内存空间是独立的,只是它们的值会同步显示
4.还应注意一点,arguments对象的长度是由传入的参数的个数来决定的,而不是由定义函数时命名参数的个数来决定
说明:
传入了三个参数,因此,数组arguments的长度为“3”
5.没有传递值的命名参数的默认值是undefined
举例:
说明:
number2已定义,但是没有传值,故默认赋值为undefined
6.最后,值得一提的是,JavaScript函数不能实现重载,这是规定,记住就可以了
1.JavaScript中调用已经定义好的参数时,函数不介意传进来多少参数,也不介意传进来的参数是什么类型。
举例:
<span style="font-family:Arial;font-size:14px;"><!DOCTYPE html> <html> <head> <title>这是JavaScript</title> <script type="text/javascr 4000 ipt"> function args(){ alert(arguments.length); } <span style="color:#ff0000;"> args("s","b"); args("s"); args();</span> </script> </head> <body> </body> </html></span>
说明:
以上三种函数调用方式args("s","b");args("s");args();都是可以的。也就是说,即便你定义的函数不接收任何参数,调用函数的时候也未必不能传进来任何参数;或者说,当你定义的函数只接收两个参数,然而调用函数的时候你可以不传入参数,或着传入一个参数,两个参数,三个参数等等都是可以的。以上的函数调用,结果为什么是2,1,0,且看下面继续解释此问题
2.接着说到的这个问题是需要重点理解的。实际上,JavaScript函数的参数在内部是用一个数组来表示的,函数想接收参数的时候,始终接收到的是这个数组。那么如何获取数组元素呢?实际上,在函数体内,可以通过arguments对象访问这个参数数组,第一个元素是arguments[0],第二个元素是arguments[1],以此类推。
举例:
<span style="font-family:Arial;font-size:14px;"><!DOCTYPE html> <html> <head> <title>Function Example 5</title> <script type="text/javascript"> function sayHi() { alert("Hello " + arguments[0] + ", " + arguments[1]); } sayHi("Nicholas", "how are you today?"); </script> </head> <body> </body> </html></span>
说明:
sayHi("Nicholas", "how are you today?");表明函数接收到的第一个参数arguments[0]的值是"Nicholas,",函数接收到的第二个参数arguments[1]的值是"how are you today?"
3.arguments对象可以和命名参数一起使用,arguments对象的值和命名参数的值保持同步。
举例:
<span style="font-family:Arial;font-size:14px;"><!DOCTYPE html> <html> <head> <title>这是JavaScript</title> <script type="text/javascript"> function args(num1,num2){ document.write(<span style="color:#ff0000;">num1+num2</span>+"\n"); document.write(<span style="color:#ff0000;">arguments[0]+num2</span>+"\n"); document.write(<span style="color:#ff0000;">num1+arguments[1]</span>); } args(10,20); </script> </head> <body> </body> </html></span>
说明:
num1和arguments[0]的值都是10,num2和arguments[1]的值都是20,。但是,num1和arguments[0]所占用的内存空间是独立的,只是它们的值会同步显示
4.还应注意一点,arguments对象的长度是由传入的参数的个数来决定的,而不是由定义函数时命名参数的个数来决定
<span style="font-family:Arial;font-size:14px;"><!DOCTYPE html> <html> <head> <title>这是JavaScript</title> <script type="text/javascript"> function <span style="color:#ff0000;">args(num1,num2)</span>{ document.write(arguments.length); } <span style="color:#ff0000;">args(10,30,40);</span> </script> </head> <body> </body> </html></span>
说明:
传入了三个参数,因此,数组arguments的长度为“3”
5.没有传递值的命名参数的默认值是undefined
举例:
<span style="font-family:Arial;font-size:14px;"><!DOCTYPE html> <html> <head> <title>这是JavaScript</title> <script type="text/javascript"> function args(num1,num2){ document.write(num1+"\n"); <span style="color:#ff0000;">document.write(num2+"\n");</span> } args(10); </script> </head> <body> </body> </html></span>
说明:
number2已定义,但是没有传值,故默认赋值为undefined
6.最后,值得一提的是,JavaScript函数不能实现重载,这是规定,记住就可以了
相关文章推荐
- javascript 学习之函数的参数详解
- JavaScript的函数参数详解
- javascript写的关于静态页面获取URL传递参数的函数[原创]
- 另一个用javascript获取URL参数的函数
- Javascript中Window.open参数详解
- javascript中字符串替换函数replace()方法详解
- Javascript中Window.open参数详解
- jsp中怎么将jsp定义的参数传给javascript定义的函数?急
- JavaScript控制网页播放器的一些相关函数及参数
- javascript中判断调用函数时候的参数个数是否和函数要求的一样
- javascript用arguments数组对象实现参数变量可变的函数
- javascript入门系列演示·函数的定义以及简单参数使用,调用函数
- Javascript的函数详解
- JavaScript:关于document.execCommand()函数可用参数大解析
- javascript的对话框详解与参数
- javascript写的关于静态页面获取URL传递参数的函数[原创]
- javascript入门系列演示·函数的定义以及简单参数使用,调用函数
- PHP date函数参数详解
- javascript得到网址中传递的参数 的处理函数
- [转]JavaScript使用cookie,参数设置,说明;读取,写入,删除函数