javascript函数中参数传递问题示例探讨
2014-07-31 00:00
477 查看
相信每一位刚接触javascript的同学在函数参数传递上都会很疑惑,原因无他,那就是它的语法太怪异了,你定义一个函数
例如
那么你在调用的时候怎么调呢,你可以test('Eric'),test('Eric','welcome to javascript')甚至你可以给它传递任意多个参数,并且类型随意.这是多么爽的一件事情,学过c++/c#或者java的同学可能就会想到函数重载。但是,我要告诉你的是,javascript中不存在函数重载,如果你定义了两个同名函数,那么先定义的函数将被后定义的覆盖,意思便是你想要的结果只能从后定义的函数中得到。
好了,言归正传,为什么javascript的函数传递可以这么随意呢,那我们就先来看看传过来的参数都存到哪里吧。实际上,在它的内部实现中,所有传过来的参数都存在一个数组中。函数接收到的始终是这个数组,而不关心这个数组包含了哪些参数。现在就好理解了,我们定义了一个函数,调用的时候参数可以随便传,你传多少它都给你加入数组中,如果不传,那么你的形参全部都是‘undefined',这并不会有什么语法错误,但是语义上就不好说了。
好了,,,,,,,,第一次写博客,小弟不才,让各位见笑了,希望这篇博文能对你有些许帮助。。。。
I LOVE YOU,GUYS!
例如
function test(name,msg){ return 'hello' + name + msg; }
那么你在调用的时候怎么调呢,你可以test('Eric'),test('Eric','welcome to javascript')甚至你可以给它传递任意多个参数,并且类型随意.这是多么爽的一件事情,学过c++/c#或者java的同学可能就会想到函数重载。但是,我要告诉你的是,javascript中不存在函数重载,如果你定义了两个同名函数,那么先定义的函数将被后定义的覆盖,意思便是你想要的结果只能从后定义的函数中得到。
好了,言归正传,为什么javascript的函数传递可以这么随意呢,那我们就先来看看传过来的参数都存到哪里吧。实际上,在它的内部实现中,所有传过来的参数都存在一个数组中。函数接收到的始终是这个数组,而不关心这个数组包含了哪些参数。现在就好理解了,我们定义了一个函数,调用的时候参数可以随便传,你传多少它都给你加入数组中,如果不传,那么你的形参全部都是‘undefined',这并不会有什么语法错误,但是语义上就不好说了。
好了,,,,,,,,第一次写博客,小弟不才,让各位见笑了,希望这篇博文能对你有些许帮助。。。。
I LOVE YOU,GUYS!
相关文章推荐
- javascript函数中参数传递问题示例探讨
- javascript函数参数的传递问题
- 关于javascript函数中参数传递问题
- javascript函数参数的传递问题
- 用参数传递解决window.open的session变量有时候丢掉的问题
- 方法参数传递对象时声明选项的注意问题
- 终于解决了--调用存储过程提示传递参数多的问题!
- DTS参数传递示例
- 向用户控件传递参数的问题
- JSP 在utf-8 编码下参数传递时,中文问题
- [Flex]再谈Flex和Jsp之间中文参数的传递问题
- 四种方案解决Form之间相互访问、参数传递的问题
- jsp传递中文参数、空格以及表单内容换行问题解决小结
- 线裎里面传递参数问题解决方案
- DTS参数传递示例
- URL中文参数传递问题
- 解决Tomcat5.0.19中文参数传递的问题
- javascript函数的参数问题
- paypal 传递参数问题
- 解决multipart/form-data表单中传递参数问题(动态更改表单提交URL)