本人一直從事WEB前端開發(fā)工作,所以對(duì)CSS和JavaScript是比較熟悉的,同時(shí)工作之余也會(huì)玩玩后臺(tái)編程,自然對(duì)C#也是了解的,也知道C#是微軟.NET平臺(tái)的主推語(yǔ)言,本人也在提高中。同時(shí)我也想過能否用自己最熟悉的JavaScript作為后臺(tái)編程語(yǔ)言,我這里指的不是傳統(tǒng)的ASP,而是ASP.NET,抱著這個(gè)想法,最終被我發(fā)現(xiàn)了JScript .NET可以實(shí)現(xiàn)我的需求,首次使用再此做個(gè)筆記。當(dāng)然我只是拿它來(lái)玩玩的,因?yàn)榘袹Script .NET作為實(shí)際項(xiàng)目的開發(fā)語(yǔ)言顯然是很不明聟的,因?yàn)橛玫娜颂?,文檔也少,也不便于團(tuán)隊(duì)合作開發(fā)大項(xiàng)目,最糟糕的是它沒有一個(gè)好的開發(fā)與調(diào)試IDE,連微軟自己的VS都不能很好支持(這里指對(duì)操作.NET方面的方法屬性等提供自動(dòng)完成及調(diào)器功能,而不是基本JS編寫,如果是基本編程可以選擇Apatana和VS2008)。
相信大家對(duì)JavaScript絕對(duì)不會(huì)陌生,因?yàn)槟銓?duì)AJAX并不陌生,其實(shí)JScript就是微軟版本的JavaScript,它幾乎與JavaScript是一樣的,而且還擴(kuò)展了部分實(shí)用方法。在早期ASP流行的時(shí)候,它也與VBscript一樣可以作為服務(wù)器端運(yùn)行的腳本語(yǔ)言。而JScript .NET可以說(shuō)是JScript的最新版本,即JScript 8.0,它在功能上有質(zhì)的突破,它的設(shè)計(jì)目的是為JScript開發(fā)人員提供訪問.NET公共類庫(kù)的方法,即它可以開發(fā)基于.NET平臺(tái)的應(yīng)用程序,甚至是.NET WinForm程序。通過對(duì)JScript 8.0文檔了解,發(fā)現(xiàn)我們可以通過.NET SDK或VS IDE把JS文件編譯成exe或dll文件,而這些文件又因?yàn)槭腔?NET通用中間語(yǔ)言編譯的,所以又可以被其它語(yǔ)言訪問,這一定讓你大開眼界。
通過對(duì)JScript .NET的了解以及將其與同類語(yǔ)言對(duì)比,我們很容易發(fā)現(xiàn)它的優(yōu)勢(shì):
(1)功能更豐富。提供了眾多額外實(shí)用方法和特性。
(2)更面向?qū)ο蟆?/STRONG>直接提供類與繼承等關(guān)鍵字,可以顯式聲明變量類型,還有包的概念和定義方法,方便代碼組織和管理。
(3)執(zhí)行可以更快。與.NET平臺(tái)支持其它語(yǔ)言一樣,支持編譯執(zhí)行,執(zhí)行效率與其它語(yǔ)言幾乎是同等的。
代碼相當(dāng)簡(jiǎn)單,就不加注釋了,你可以看到常見的.NET方法。本人測(cè)試通過,數(shù)據(jù)庫(kù)連接與SQL語(yǔ)句改成你自己實(shí)際查詢數(shù)據(jù),要求.NET 2.0以上環(huán)境。本例非原創(chuàng),網(wǎng)上抄的。
<%@ page language="JScript" %>(1)通常情況下我們?cè)贏SP.NET WEB控件頁(yè)(ASPX文件)頁(yè)頭用Page指令指定了頁(yè)面使用默認(rèn)編程語(yǔ)言后,在HTML正文我們可以使用像<% %>的方式來(lái)包含執(zhí)行代碼塊。但是我發(fā)現(xiàn)使用Page_Load方法或操作一些ASP.NET服務(wù)器控件的時(shí)候,必須使用帶runat=”server”屬性的<script>塊,否則什么內(nèi)容都不輸出,不知道是不是我的系統(tǒng)問題,還望有朋友指點(diǎn)。
(2)JScript官方文檔說(shuō)對(duì)于變量類型的聲明,可以指定也可以不指定,比如像var sql:String可以簡(jiǎn)單寫成var sql,但是我發(fā)現(xiàn)有些變量的類型是一定要聲明的,不然也會(huì)有問題,比如function Page_Load(sender,e:EventArgs)中的e就要顯式聲明為EventArgs類型,否則你也將得不到預(yù)期效果。
· JScript.NET通俗教程
· MSDN 含有JScript.NET演示實(shí)例
· JScript 8.0 語(yǔ)言參考手冊(cè)chm 下載
如對(duì)本文有疑問,請(qǐng)?zhí)峤坏浇涣髡搲瑥V大熱心網(wǎng)友會(huì)為你解答??! 點(diǎn)擊進(jìn)入論壇