vbscript的骨灰级写法计算1到100的和
作者 佚名
来源 ASP编程
浏览
发布时间 2013-07-09
这篇日志完全是看了一篇日志后的启发,原文为:邪恶的eval和new Function。 很少使用new Array的方式来定义数组,没想到new Array有这么一个妙用,通过new Array(n)我们可以创建n个空元素,同时也就在n个元素中间存在n-1个空白,通过join,我们可以将一些东西放在这些空白中间从而组成我们需要的特殊串,这不禁启发了我的灵感,这个特点可以使我不通过循环就可以很容易的实现一个“有规律元素的连续运算”。比如计算1-100的数值的和。以往我们需要从1循环到100然后求和,但利用数组的这个特性我们可以通过简单的一行代码搞定,代码如下: 复制代码 代码如下: var i=0,sum=eval(''0''+new Array(101).join(''+(++i)'')); 此外可以做很多类似的数学运算,比如以下几个 复制代码 代码如下: eval(''0''+new Array(11).join(''+Math.pow(++i,2)'')) //计算1-10的平方和 eval(''0''+new Array(100/2).join(''+(i+=2)'')) //计算2+4+6+...100的和 这些我们以往都通过循环进行的计算,现在都可以一行代码巧妙搞定,不得不叹服编程语言隐含的灵巧,编程的世界总有太多的东西等待我们去发现。 把上面的JavaScript代码改成VBS,就是VBS练习题所谓的骨灰级解法: 复制代码 代码如下: Dim a(101) Execute(Join(a,"s=s+i:i=i+1:")) MsgBox s 原文:http://demon.tw/programming/no-loop-calculate-1-100-sum.html |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于vbscript的骨灰级写法计算1到100的和的所有评论