使用闭包的方式实现一个累加函数 addNum
2018-07-12 07:59:45来源:博客园 阅读 ()
使用闭包的方式实现一个累加函数 addNum,参数为 number 类型,每次返回的结果 = 上一次计算的值 + 传入的值,如: addNum(10); //10 addNum(12); //22 addNum(30); //52
写法一
1 function sum(numberOne) { 2 var count = numberOne; 3 return function by(numberTwo) { 4 if (numberTwo === undefined) { 5 return count; 6 } else { 7 count += numberTwo; 8 return by; 9 } 10 } 11 } 12 console.log(sum(10)(12)(30)());
写法二
1 function sum(x) { 2 var result = 0; 3 for(var i=0;i<arguments.length;i++){ 4 result += arguments[i]; 5 } 6 var foo = function(){ 7 for(var i=0;i<arguments.length;i++){ 8 result += arguments[i]; 9 } 10 return foo; 11 }; 12 foo.toString = function(){ 13 return result; 14 }; 15 return foo; 16 } 17 18 console.log(+sum(10)(12)(30));
写法三
1 function sum (n) { 2 3 var v = function (x) { 4 return sum (n + x); 5 }; 6 7 v.valueOf = v.toString = function () { 8 return n; 9 }; 10 11 return v; 12 } 13 14 console.log(+sum(10)(12)(30));
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 关于jQuery UI 使用心得及技巧 2020-03-29
- js中去掉字串左右空格 2020-03-20
- Js中如何使用sort() 2020-03-18
- jQuery异步提交表单的两种方式 2020-03-12
- 使用JS在浏览器中判断当前网络连接状态的几种方法 2020-03-12
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash