Arguments Optional FreeCodeCamp
function add() {
  if(typeof arguments[0] !== "number" || (arguments.length > 1 && typeof arguments[1] !== "number")){
    return undefined;
  }
  if(arguments.length == 1){
    var arg0 = arguments[0];
    return function(num){
      if(typeof num !== "number"){
        return undefined;
      }
      return arg0 + num;
    };
  }else{
    return arguments[0] + arguments[1];
  }
}
题目:
创建一个计算两个参数之和的 function。如果只有一个参数,则返回一个 function,该 function 请求一个参数然后返回求和的结果。
  例如,add(2, 3) 应该返回 5,而 add(2) 应该返回一个 function。
调用这个有一个参数的返回的 function,返回求和的结果:
  var sumTwoAnd = add(2);
  sumTwoAnd(3) 返回 5。
如果两个参数都不是有效的数字,则返回 undefined。
分析:
闭包是函数和声明该函数的词法环境的组合。
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Closures
  arguments 是一个对应于传递给函数的参数的类数组对象。
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/arguments
  typeof操作符返回一个字符串,表示未经计算的操作数的类型。
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/typeof
参考博客:
http://www.cnblogs.com/fffangrui/p/6114402.html
Arguments Optional FreeCodeCamp的更多相关文章
- Arguments Optional
		
function add() { //return false; if(typeof arguments[0] !== "number" || arguments.length & ...
 - Arguments Optional  计算两个参数之和的 function
		
创建一个计算两个参数之和的 function.如果只有一个参数,则返回一个 function,该 function 请求一个参数然后返回求和的结果. 例如,add(2, 3) 应该返回 5,而 add ...
 - [Intermediate Algorithm] - Arguments Optional
		
题目 创建一个计算两个参数之和的 function.如果只有一个参数,则返回一个 function,该 function 请求一个参数然后返回求和的结果. 例如,add(2, 3) 应该返回 5,而 ...
 - FreeCodeCamp 中级算法(个人向)
		
freecodecamp 中级算法地址戳这里 Sum All Numbers in a Range 我们会传递给你一个包含两个数字的数组.返回这两个数字和它们之间所有数字的和. function su ...
 - Arguments Optional-freecodecamp算法题目
		
Arguments Optional 1.要求 创建一个计算两个参数之和的 function.如果只有一个参数,则返回一个 function,该 function 请求一个参数然后返回求和的结果. 如 ...
 - FCC-js算法题解题笔记
		
题目链接:https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/intermediate-algorithm ...
 - Matlab 进阶学习记录
		
最近在看 Faster RCNN的Matlab code,发现很多matlab技巧,在此记录: 1. conf_proposal = proposal_config('image_means', ...
 - python命令行解释器 argparse
		
一: argparse介绍 1. argparse argparse,它是Python标准库中推荐使用的编写命令行程序的工具 parser = argparse.ArgumentParser() ...
 - Managing IIS Log File Storage
		
Managing IIS Log File Storage You can manage the amount of server disk space that Internet Informa ...
 
随机推荐
- IE下自定义错误页面不显示的原因
			
如果一个 404 页面的内容小于 512B,IE 会认为该 404 页面不够友好,在 IE 下将不会成功返回该 404 错误页面
 - .net 单元测试
			
都说测试驱动开发,但是想写好单元测试其实不容易,不是因为测试用例难以构造,而是因为很多时候方法非常复杂 其中部分测试想要完成就十分费力,其中让人崩溃的地方主要如下: 实例私有函数 实例静态私有函数 十 ...
 - sqlalchemy带条件查询相关应用
			
sqlalchemy带条件查询 filter_by与filter filter_by 与filter的区别: 1. filter_by只能取值= filter可以==,!=,>=,<=等多 ...
 - 手动重启weblogic脚本
			
手动重启weblogic脚本 pid=`ps -ef|grep fzjc_Admin_Server|grep -v grep|awk '{print $2}'` echo $pid kill -9 $ ...
 - [ACM] hdu 1035 Robot Motion (模拟或DFS)
			
Robot Motion Problem Description A robot has been programmed to follow the instructions in its path. ...
 - Squares-暴力枚举或者二分
			
B - Squares Time Limit:3500MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit ...
 - UVA - 10061 How many zero's and how many digits ?
			
n!=x*b^y, 当x为正整数时,最大的y就是n!末尾0的个数了, 把n,b分别拆成素因子相乘的形式: 比如, n=5,b=16 n=5,b=2^4, 非常明显,末尾0的个数为0 10进制时,n!= ...
 - GET,POST,PUT,DELETE的区别 和  用法
			
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE.URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP ...
 - luogu2054 洗牌 同余方程
			
题目大意 对于扑克牌的一次洗牌是这样定义的,将一叠N(N为偶数)张扑克牌平均分成上下两叠,取下面一叠的第一张作为新的一叠的第一张,然后取上面一叠的第一张作为新的一叠的第二张,再取下面一叠的第二张作为新 ...
 - Android——build.prop 解析【转】
			
本文转载自:http://blog.csdn.net/lengyue1084/article/details/77637354 一.概念 在Android设备shell终端可以看到/system目录下 ...