必威电竞|足球世界杯竞猜平台

JScript
來源:互聯(lián)網(wǎng)

JScript是由微軟公司開發(fā)的活動(dòng)腳本語(yǔ)言,是微軟對(duì)ECMAScript規(guī)范的實(shí)現(xiàn)。JScript最初是隨Internet Explorer 3.0于1996年8月發(fā)布。在網(wǎng)絡(luò)程序員談?wù)揑nternet Explorer中的JavaScript的時(shí)候,他們實(shí)際上是指JScript。和其他活動(dòng)腳本一樣,它后來也被Windows Script Host(WSH)和Active Server Pages所支持。典型的JScript源文件使用的擴(kuò)展名是.js。JScript最新的版本是基于尚未定稿的ECMAScript4.0版規(guī)范的JScript .NET,并且可以在微軟的.Net環(huán)境下編譯。JScript在ECMA的規(guī)范上增加了許多特性。

語(yǔ)言

JScript是微軟的一種專門設(shè)計(jì)用于Web頁(yè)面中的腳本語(yǔ)言。它堅(jiān)持了ECMAScript標(biāo)準(zhǔn)并且主要是微軟對(duì)應(yīng)于網(wǎng)景早些出現(xiàn)并被廣泛使用的JavaScript所出的一個(gè)語(yǔ)言。 ? 寬松類型意味著您不必顯示定義變量的數(shù)據(jù)類型。事實(shí)上 JScript 更進(jìn)一步。您無法在JScript上明確地定義數(shù)據(jù)類型。此外,在大多數(shù)情況下,JScript 將根據(jù)需要自動(dòng)進(jìn)行轉(zhuǎn)換。例如,如果將一個(gè)數(shù)值添加到由文本組成的某項(xiàng)(一個(gè)字符串),該數(shù)值將被轉(zhuǎn)換為文本。

功能

JScript 8.0是 微軟 實(shí)現(xiàn) ECMA 262 語(yǔ)言的新一代版本。通過將先前版本的 JScript 功能集與基于類的語(yǔ)言的最佳功能相結(jié)合,JScript 8.0 包含了這兩個(gè)領(lǐng)域的精華。JScript 8.0 的改進(jìn)內(nèi)容(正在結(jié)合 ECMAScript 第 4 版開發(fā)研制)包括:真正的編譯代碼、類型化和無類型變量、后期和早期綁定、類(具有繼承、函數(shù)重載、屬性訪問器,等等)、包、跨語(yǔ)言支持,以及對(duì) .NET Framework 的完全訪問。

新增功能

JScript 8.0 是一種真正的面向?qū)ο蟮哪_本語(yǔ)言。盡管 JScript 8.0 可以使用類、類型和其他高級(jí)語(yǔ)言功能來編寫可靠的應(yīng)用程序,但它仍然保留著其“腳本”特色,支持無類型編程、expando 函數(shù)和類、動(dòng)態(tài)代碼執(zhí)行(使用 eval)等。

JScript 8.0 不僅是一種無類型語(yǔ)言,還可以用作一種強(qiáng)類型化的語(yǔ)言。在先前版本中,JScript 松散的類型化結(jié)構(gòu)意味著變量采用賦給它們的值的類型。實(shí)際上,在先前版本中用戶不能聲明變量的數(shù)據(jù)類型。JScript 8.0 允許對(duì)變量進(jìn)行類型批注,這與先前版本的 JScript 相比提供了更大的靈活性。這種方法將變量綁定到某個(gè)特定的數(shù)據(jù)類型,這樣該變量就只能存儲(chǔ)這種類型的數(shù)據(jù)。

編程語(yǔ)言中,強(qiáng)類型有許多優(yōu)勢(shì)。除了當(dāng)所使用的數(shù)據(jù)類型恰好適合正在使用的數(shù)據(jù)時(shí)獲得的益處外,還有其他幾點(diǎn)好處:

提高執(zhí)行速度

運(yùn)行時(shí)/編譯時(shí)類型檢查

自記錄代碼

最后,JScript 8.0 并不是另一種編程語(yǔ)言的簡(jiǎn)單版本,也不是對(duì)任何內(nèi)容的簡(jiǎn)化。而是一種應(yīng)用非常廣泛的現(xiàn)代腳本語(yǔ)言。

編寫

與其他許多編程語(yǔ)言一樣, 微軟 JScript 是用文本方式編寫的,并被組織成為語(yǔ)句、由相關(guān)的語(yǔ)句集組成的塊、以及注釋。在一條語(yǔ)句內(nèi)可以使用變量、比如字符串和數(shù)字(稱為“文字”)的立即數(shù)、以及表達(dá)式。

集合

語(yǔ)句

一條 ECMAScript 語(yǔ)句相當(dāng)于英語(yǔ)中的一個(gè)完整句。Jscript 語(yǔ)句將表達(dá)式組合起來,完成一個(gè)任務(wù)。

一條語(yǔ)句由一個(gè)或多個(gè)表達(dá)式、關(guān)鍵字或者運(yùn)算符(符號(hào))組成。典型地,一條語(yǔ)句寫一行,盡管一條語(yǔ)句可以超過兩行或更多行。兩條或更多條語(yǔ)句也可以寫在同一行上,語(yǔ)句之間用分號(hào)“;”隔開。通常,每一新行開始一條新語(yǔ)句。不過顯式地終止語(yǔ)句是一個(gè)好方法。這是用分號(hào) (;)來實(shí)現(xiàn)的,分號(hào)是 JScript 語(yǔ)句的終止字符。下面給出 Jscript 語(yǔ)句的兩隔示例。

aBird = "Robin"; //將文本“Robin”賦值給變量aBird

var today = new Date(); // 將今天的日期賦值給變量today

用大括號(hào)({})括起來的一組 JScript 語(yǔ)句稱為一個(gè)語(yǔ)句塊。分組到一個(gè)語(yǔ)句塊中的語(yǔ)句通??僧?dāng)作單條語(yǔ)句處理。這就是說在 JScript 期望有一條單個(gè)語(yǔ)句的大多數(shù)地方可以使用語(yǔ)句塊。應(yīng)該注意以 for 和 while 打頭的循環(huán)語(yǔ)句是例外情況。注意,語(yǔ)句塊中的原始語(yǔ)句以分號(hào)結(jié)束,但語(yǔ)句塊本身并不以分號(hào)結(jié)束。

在函數(shù)和條件語(yǔ)句中使用語(yǔ)句塊

通常,在函數(shù)和條件語(yǔ)句中使用語(yǔ)句塊。注意,Jscript 與 C++ 以及其他某些語(yǔ)言不同,它不認(rèn)為語(yǔ)句塊是一個(gè)新的范圍;只有函數(shù)創(chuàng)建新范圍。在下面的示例中,第一條語(yǔ)句開始定義一個(gè)函數(shù),該函數(shù)包含一個(gè)五條語(yǔ)句組成的語(yǔ)句塊。語(yǔ)句塊后的三條語(yǔ)句沒有用大括號(hào)括起來;這些語(yǔ)句不是一個(gè)語(yǔ)句塊,所以就不是函數(shù)定義的一部分。

函數(shù) convert(inches) {

feet = inches / 12; // 這五條語(yǔ)句屬于一個(gè)語(yǔ)句塊。

miles = feet /5280;

nauticalMiles = feet / 6080;

cm = inches * 2.54;

meters = inches / 39.37;

}

km = meters / 1000; // 這三條語(yǔ)句不在語(yǔ)句塊內(nèi)。

kradius = km;

mradius = miles;

注釋

單行的 JScript 注釋以一對(duì)正斜杠(//)開始。下面給出一個(gè)單行注釋的示例。

aGoodIdea = "Comment your code thoroughly."; // 這是一個(gè)單行注釋。

多行注釋以一個(gè)正斜杠加一個(gè)星號(hào)的組合(/*)開始,并以其逆向順序 (*/)結(jié)束。

/*

這是一個(gè)用來解釋前面的代碼語(yǔ)句的多行注釋。

該語(yǔ)句將一個(gè)值賦給 aGoodIdea變量。

用引號(hào)包含的這種值稱為一個(gè)文字。

文字顯式并直接包含信息;

而不是簡(jiǎn)接地引用信息。

(引號(hào)不屬于該文字的內(nèi)容。)

*/

注意事項(xiàng)

如果您試圖將一個(gè)多行注釋插入到另一個(gè)中,JScript 不能按正常的方式解釋生成的多行注釋。標(biāo)明嵌入的多行注釋結(jié)束的 */ 被認(rèn)為是整個(gè)多行注釋的結(jié)尾。這就意味著嵌入多行注釋之后的文本不再被認(rèn)為是注釋;相應(yīng)地,它將被解釋為 JScript 代碼,并會(huì)產(chǎn)生語(yǔ)法錯(cuò)誤。

建議將所有的注釋寫為單行注釋的語(yǔ)句塊。這樣您以后就能夠?qū)⒋蠖蔚拇a與多行注釋區(qū)分開。

//這是另一種多行注釋,寫成一系列單行注釋。

// 在執(zhí)行完該語(yǔ)句后,可以使用 aGoodIdea變量的名字來引用其內(nèi)容,

// 如下一條語(yǔ)句那樣,即采用連接操作將字符串文字添加到

// aGoodIdea變量,以創(chuàng)建一個(gè)新的變量。

var extendedIdea = aGoodIdea + " You never know when you'll have to figure out what it does.";

賦值和相等

JScript 語(yǔ)句中使用等號(hào) (=)給變量賦值:等號(hào)是賦值運(yùn)算符。=運(yùn)算符左邊的操作項(xiàng)總是一個(gè) Lvalue。Lvalue 可以是:

變量,

數(shù)組元素,

對(duì)象屬性。

= 運(yùn)算符右邊的操作項(xiàng)總是一個(gè) Rvalue。Rvalues 可以是任何類型的一個(gè)任意值,包括表達(dá)式的值。下面給出一個(gè) JScript賦值語(yǔ)句的示例。

anInteger = 3;

Jscript編譯器解釋本語(yǔ)句的意義為:“將 3 賦給變量anInteger”或“anInteger 的值為 3”。

確定您理解了 =運(yùn)算符(賦值)和 == 運(yùn)算符(相等)的差異。在比較兩個(gè)值是否相等時(shí),應(yīng)使用兩個(gè)等于號(hào) (==)。這些內(nèi)容將在 控制程序的流程 中詳細(xì)介紹。

表達(dá)式

JScript表達(dá)式是指 JScript解釋器能夠計(jì)算生成值的 JScript “短語(yǔ)”。這個(gè)值可以是任何有效的 JScript 類型 — 數(shù)字、字符串、對(duì)象,等等。最簡(jiǎn)單的表達(dá)式是文字。下面給出 JScript 文字表達(dá)式的一些示例。

3.9 // 數(shù)字文字

"Hello!" // 字符串文字

false //布爾文字

null // 文字空值

{x:1, y:2} // 對(duì)象文字

[1,2,3] //數(shù)組文字

函數(shù)(x){return x*x;} // 函數(shù)文字

更多復(fù)雜的表達(dá)式中包含變量、函數(shù)、函數(shù)調(diào)用以及其他表達(dá)式??梢杂眠\(yùn)算符將表達(dá)式組合,創(chuàng)建復(fù)合表達(dá)式。運(yùn)算符可以是:

+ // 加法

- // 減法

* // 乘法

/ // 除法

下面給出 JScript 復(fù)合表達(dá)式的一些示例。

var anExpression = 3 * (4 / 5) + 6;

var aSecondExpression = 數(shù)學(xué)PI * radius * radius;

var aThirdExpression = aSecondExpression + "%" + anExpression;

var aFourthExpression = "(" + aSecondExpression + ") % (" + anExpression + ")";

參考資料 >

生活家百科家居網(wǎng)