• 对函数的参数求和


    原始代码:

     1 var i = iResult = 0;
     2 function sum(a,b){
     3 
     4     for (var i = 0; i < arguments.length; i++){
     5         iResult += arguments[i];
     6     }
     7     return iResult;
     8 }
     9 //应用
    10 console.log(sum(1,2,3,4,5,6,7,8,9,10));//55
    11 console.log(sum(1)); //56
    12 console.log(sum(1)); //57
    13 console.log(sum(1)); //58

      奇怪,为什么sum会叠加呢?iResult 没有初始化,应该是每次函数调用的时候都要初始化一下,change-->

     1 function sum(a,b){
     2     var i = iResult = 0;
     3     for (var i = 0; i < arguments.length; i++){
     4         iResult += arguments[i];
     5     }
     6     return iResult;
     7 }
     8 //应用
     9 console.log(sum(1,2,3,4,5,6,7,8,9,10));//55
    10 console.log(sum(1));//1
    11 console.log(sum(1));//1
    12 console.log(sum(1));//1

      现在正常了。那么再做出一些变化吧,change-->

     1 function sum(a,b){
     2     var i = iResult = 0;
     3     a = 0, b = 2;
     4     for (var i = 0; i < arguments.length; i++){
     5         iResult += arguments[i];
     6     }
     7     return iResult;
     8 }
     9 //应用
    10 console.log(sum(1,2,3,4,5,6,7,8,9,10));//54
    11 console.log(sum(1));//0
    12 console.log(sum(1));//0
    13 console.log(sum(1,2));//2

      上面代码中的a, b 是局部变量。arguments是实参(函数执行时候-实际传递的参数),不是形参哦,看下面code-->

    1     function add(x, y){
    2         arguments[1] = 2; 
    3         console.log("y::",y,", arguments:",arguments);
    4     }
    5     add(1,3);   // y:: 2 , arguments: [1, 2]            // arguments 
    6     add(1);     // y:: undefined , arguments: [1, 2]    // y 是 undefined 因为没有传参给 y

       继续change:

    1 function add(x, y){
    2         y = 2; 
    3         console.log("y::",y,", arguments:",arguments);
    4     }
    5     add(1,3);   // y:: 2 , arguments: [1, 2]            // arguments 
    6     add(1);     // y:: 2 , arguments: [1]     
  • 相关阅读:
    SPA项目开发之登录
    使用vue-cli搭建SPA项目
    ElementUI入门和NodeJS环境搭建
    struts文件上传
    Struts增删改查
    struts
    Maven
    easyui三
    EasyUi权限
    自定义MVC三
  • 原文地址:https://www.cnblogs.com/chuyu/p/3383928.html
Copyright © 2020-2023  润新知