A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黄树人 中级黑马   /  2012-9-4 04:12  /  1823 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. <script type="text/javascript">
  2. function show(a,b)
  3. {
  4.         var result = a + b;
  5.         return result;
  6. }

  7. var x = 10;
  8. var y = 20;
  9. var result = show(x,y);
  10. alert(result);

  11. var result2 = show(x,y,30);
  12. alert(result2);

  13. var result1 = show(30);
  14. alert(result1);

  15. var sum = show();
  16. alert(sum);
  17. </script>
复制代码
在JS中定义了有2个参数的代参函数,但调用时给的参数个数却不同,
这个样用,不报错,但出的结果给不相同,这中写法可以吗?
具体的调用时选择的哪些参数有什么规律吗?

3 个回复

倒序浏览
这就是js的灵活性所在,你虽然定义了两个参数,但是可以传N(N=0,1,2,.........)个参数进去,依次给x,y,如果不传,就都没有被赋值;如果传一个,就x被赋值;如果传2个x,y都被赋值;如果传2个以上,则也只有x,y依次被赋值前两个
回复 使用道具 举报
代码运行的时候的JS提醒框的NaN是什么意思啊
回复 使用道具 举报
函数
                        格式:
                        function 函数名(参数列表...)
                        {
                                语句;
                                return 返回值;
                        }

                        注意:所有参数都被一个叫做arguments的数组所包含。

                        function test(){...}

                        //这个时候,demo和test其实指向的是同一个函数
                        var demo = test;

                B:动态函数
                        是根据JS的内置对象Function来完成的。
                        var temp = new Function("参数列表","函数体");

                C:匿名函数
                        格式:function(){...}

                        其实就是函数的简写形式。
                        比如:
                        var demo = function(a,b)
                        {
                                return a + b;
                        }

                        相当于
                        function sum(a,b)
                        {
                                return a + b;
                        }

                        var demo = sum;
        var 的类型是根据传入的对象的类型而定的。
     你所说的方法调用也可以理解成这个方法传入不同个数的数值就会随着变化而不报错。但是它里面的
     初始化定义也是有规则的,var result = show(x,y);像你这样写的,就可以说是var 类型的 result 和
     show(x,y);有一样的功能,都是可以调用使的,很灵活的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马