vbscript的骨灰級寫法計算1到100的和
這篇日志完全是看了一篇日志后的啟發(fā),原文為:邪惡的eval和new Function。
很少使用new Array的方式來定義數(shù)組,沒想到new Array有這么一個妙用,通過new Array(n)我們可以創(chuàng)建n個空元素,同時也就在n個元素中間存在n-1個空白,通過join,我們可以將一些東西放在這些空白中間從而組成我們需要的特殊串,這不禁啟發(fā)了我的靈感,這個特點可以使我不通過循環(huán)就可以很容易的實現(xiàn)一個“有規(guī)律元素的連續(xù)運算”。比如計算1-100的數(shù)值的和。以往我們需要從1循環(huán)到100然后求和,但利用數(shù)組的這個特性我們可以通過簡單的一行代碼搞定,代碼如下:
var i=0,sum=eval('0'+new Array(101).join('+(++i)'));
此外可以做很多類似的數(shù)學(xué)運算,比如以下幾個
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的和
這些我們以往都通過循環(huán)進行的計算,現(xiàn)在都可以一行代碼巧妙搞定,不得不嘆服編程語言隱含的靈巧,編程的世界總有太多的東西等待我們?nèi)グl(fā)現(xiàn)。
把上面的JavaScript代碼改成VBS,就是VBS練習(xí)題所謂的骨灰級解法:
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
上一篇:VBS實現(xiàn)將Excel表格保存為txt文本
欄 目:vb
下一篇:VBS中獲取系統(tǒng)本次及上次開關(guān)機時間的代碼(WinXP/win2003/Win7兼容版)
本文標(biāo)題:vbscript的骨灰級寫法計算1到100的和
本文地址:http://mengdiqiu.com.cn/a1/vb/7382.html
您可能感興趣的文章
- 01-10下載文件到本地運行的vbs
- 01-10什么是一個高效的軟件
- 01-10VBS中的正則表達式的用法大全 <font color=red>原創(chuàng)&
- 01-10VBS中SendKeys的基本應(yīng)用
- 01-10VBScript教程 第十一課深入VBScript
- 01-10用VBSCRIPT控制ONSUBMIT事件
- 01-10VBScript語法速查及實例說明
- 01-10VBS中Select CASE的其它用法
- 01-10VBScript教程 第七課使用條件語句
- 01-10vbscript 可以按引用傳遞參數(shù)嗎?


閱讀排行
本欄相關(guān)
- 01-10下載文件到本地運行的vbs
- 01-10飄葉千夫指源代碼,又稱qq刷屏器
- 01-10SendKeys參考文檔
- 01-10什么是一個高效的軟件
- 01-10VBS中的正則表達式的用法大全 &l
- 01-10exe2swf 工具(Adodb.Stream版)
- 01-10VBS中SendKeys的基本應(yīng)用
- 01-10用VBSCRIPT控制ONSUBMIT事件
- 01-10VBScript教程 第十一課深入VBScript
- 01-10VBScript語法速查及實例說明
隨機閱讀
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-11ajax實現(xiàn)頁面的局部加載
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-10C#中split用法實例總結(jié)
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10delphi制作wav文件的方法
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 04-02jquery與jsp,用jquery
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置