vbscript的骨灰級寫法計(jì)算1到100的和
來源:易賢網(wǎng) 閱讀:1108 次 日期:2016-07-05 11:25:22
溫馨提示:易賢網(wǎng)小編為您整理了“vbscript的骨灰級寫法計(jì)算1到100的和”,方便廣大網(wǎng)友查閱!

vbscript的骨灰級寫法計(jì)算1到100的和的代碼,實(shí)現(xiàn)的比較不錯(cuò)

這篇日志完全是看了一篇日志后的啟發(fā),原文為:邪惡的eval和new Function。

很少使用new Array的方式來定義數(shù)組,沒想到new Array有這么一個(gè)妙用,通過new Array(n)我們可以創(chuàng)建n個(gè)空元素,同時(shí)也就在n個(gè)元素中間存在n-1個(gè)空白,通過join,我們可以將一些東西放在這些空白中間從而組成我們需要的特殊串,這不禁啟發(fā)了我的靈感,這個(gè)特點(diǎn)可以使我不通過循環(huán)就可以很容易的實(shí)現(xiàn)一個(gè)“有規(guī)律元素的連續(xù)運(yùn)算”。比如計(jì)算1-100的數(shù)值的和。以往我們需要從1循環(huán)到100然后求和,但利用數(shù)組的這個(gè)特性我們可以通過簡單的一行代碼搞定,代碼如下:

代碼如下:

var i=0,sum=eval('0'+new Array(101).join('+(++i)'));

此外可以做很多類似的數(shù)學(xué)運(yùn)算,比如以下幾個(gè)

代碼如下:

eval('0'+new Array(11).join('+Math.pow(++i,2)')) //計(jì)算1-10的平方和

eval('0'+new Array(100/2).join('+(i+=2)')) //計(jì)算2+4+6+...100的和

這些我們以往都通過循環(huán)進(jìn)行的計(jì)算,現(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

更多信息請查看腳本欄目
易賢網(wǎng)手機(jī)網(wǎng)站地址:vbscript的骨灰級寫法計(jì)算1到100的和
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)