久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

javascript快速入門7

 橘子悅讀 2013-12-02

ECMAScript的基礎(chǔ)概念

熟悉Java、C和Perl這些語言的開發(fā)者會(huì)發(fā)現(xiàn)ECMAScript的語法很容易掌握,,因?yàn)樗栌昧诉@些語言的語法,。Java和ECMAScript有一些關(guān)鍵語法特性相同,也有一些完全不同,。ECMAScript的基礎(chǔ)概念如下:

  • 區(qū)分大小寫,。與Java一樣,變量,、函數(shù)名,、運(yùn)算符以及其他一切東西都是區(qū)分大小寫的,也就是說,,變量test不同于變量Test,。
  • 變量是弱類型的。與Java和C不同,,ECMAScript中的變量無特定的類型,,定義變量時(shí)只用var運(yùn)算符,可以將它初始化為任意的值,。這樣可以隨時(shí)改變變量所存數(shù)據(jù)的類型(盡管應(yīng)該避免這樣做,但作為Web開發(fā),這確實(shí)可以提高效率),。
  • 每行結(jié)尾的分號(hào)可有可無。Java,、C和Perl都要求每行代碼以分號(hào)(;)結(jié)束才符合語法,。ECMAScript則允許開發(fā)者自行決定是否以分號(hào)結(jié)束一行代碼。如果沒有分號(hào),,ECMAScript就把這行代碼的結(jié)尾看作該語句的結(jié)尾(與Visual Basic和VBScript相似),,前提是這樣沒有破壞代碼的語義。最好的代碼編寫習(xí)慣是總加入分號(hào),因?yàn)闆]有分號(hào),,有些瀏覽器就不能正確運(yùn)行!
  • 注釋與Java,、C和PHP語言的注釋相同。ECMAScript借用了這些語言的注釋語法,。有兩種類型的注釋——單行注釋和多行注釋,。單行注釋以雙斜線(//)開頭。多行注釋以單斜線和星號(hào)(/*)開頭,,以星號(hào)加單斜線結(jié)尾(*/),。
  • 括號(hào)表明代碼塊。從Java中借鑒的另一個(gè)概念是代碼塊,。代碼塊表示一系列應(yīng)該按順序執(zhí)行的語句,,這些語句被封裝在左括號(hào)({)和右括號(hào)(})之間。

一些示例如下:

復(fù)制代碼
    var txt = "some string";
    TXT = "other string";//TXT無須聲明,可以直接賦值
    alert(txt==TXT);//false
    var str = "string" //分號(hào)可有可無
    var hob = "No";var bob = "Yes";//使用分號(hào),可以在一行上寫多行語句
    /*
    多行注釋
    alert("注釋中的代碼不會(huì)被執(zhí)行")
    */
    if (txt=="some string") {//代碼塊
        alert(true);
    }
復(fù)制代碼

 

變量

如前所述,,ECMAScript中的變量是用var運(yùn)算符(variable的縮寫)加變量名定義的,,例如:

var test = "Hello!World!";

 

在這個(gè)例子中,聲明了變量test,,并把它的值初始化為"Hello!World!"(字符串),。由于ECMAScript是弱類型的,所以解釋程序會(huì)為test自動(dòng)創(chuàng)建一個(gè)字符串值,,無需明確的類型聲明,。還可以用一個(gè)var語句定義兩個(gè)或多個(gè)變量:

var a = "some",b="string"

 

前面的代碼定義了變量test,初始值為"some",,還定義了變量test2,,初始值為"string"。不過用同一個(gè)var語句定義的變量不必具有相同的類型,,如下所示:

var a=12,b="string";

 

即使a和b屬于兩種不同的數(shù)據(jù)類型,,在ECMAScript中這樣定義也是完全合法的。與Java不同,,ECMAScript中的變量并不一定要初始化(它們是在幕后初始化的,,將在后面討論這一點(diǎn))。因此,,下面一行代碼也是有效的:

var a;
//只聲明

 

此外,與Java不同的還有變量可以存放不同類型的值,。這是弱類型變量的優(yōu)勢(shì),。例如,可以把變量初始化為字符串類型的值,,之后把它設(shè)置為數(shù)字值,,如下所示:

    var test = "string";
    alert(test);
    //.....若干代碼后
    test=123;//更改了類型
    alert(test);

 

這段代碼將毫無問題地輸出字符串值和數(shù)字值。但是,如前所述,,使用變量時(shí),,好的編碼習(xí)慣是始終存放相同類型的值。變量名需要遵守兩條簡(jiǎn)單的規(guī)則:

  • 第一個(gè)字符必須是字母,、下劃線(_)或美圓符號(hào)($)
  • 余下的字符可以是下劃線,、美圓符號(hào)或任何字母或數(shù)字字符。

下面的變量名都是合法的:

    var a;
    var $a;
    var $;
    var _a;
    var _;
    var a23;

 

當(dāng)然,,只是因?yàn)樽兞棵恼Z法正確并不意味著就該使用它們,。變量還應(yīng)遵守一條著名的命名規(guī)則:

  • Camel標(biāo)記法——首字母是小寫的,接下來的單詞都以大寫字母開頭
  • Pascal標(biāo)記法——首字母是大寫的,,接下來的單詞都以大寫字母開頭
  • 匈牙利類型標(biāo)記法——在以Pascal標(biāo)記法命名的變量前附加一個(gè)小寫字母(或小寫字母序列),,說明該變量的類型。例如,,i表示整數(shù),,s表示字符串

下面的表列出了用匈牙利類型標(biāo)記法定義ECMAScript變量使用的前綴:

類型前綴示例
數(shù)組 a aValues
布爾型 b bFound
浮點(diǎn)型(數(shù)字) f fValue
函數(shù) fn fnMethod
整型(數(shù)字) i iValue
對(duì)象 o oType
正則表達(dá)式 re rePattern
字符串 s sValue
變型(可以是任何類型) v vValue

下面是一些命名示例   

    var userName="CJ";//駝峰命名方式
    var UserName="CJ";//Pascal命名方式
    var sUserName="CJ";//匈牙利命名方式

 

ECMAScript另一個(gè)有趣的方面(也是與大多數(shù)程序設(shè)計(jì)語言的主要區(qū)別)是在使用變量之前不必聲明。例如:

    var str ="some";
    otherStr += str+" "+"string";
    alert(otherStr);

 

在上面的代碼中,,變量otherStr并沒有用var運(yùn)算符定義,,這里只是插入了它,就像已經(jīng)聲明過它,。ECMAScript的解釋程序遇到未聲明過的標(biāo)識(shí)符時(shí),,用該變量名創(chuàng)建一個(gè)全局變量,并將其初始化為指定的值,。這是該語言的便利之處,,不過如果不能緊密跟蹤變量,這樣做也很危險(xiǎn),。最好的習(xí)慣是像使用其他程序設(shè)計(jì)語言一樣,,總是聲明所有變量。

關(guān)鍵字

ECMA-262定義了ECMAScript支持的一套關(guān)鍵字(keyword),。這些關(guān)鍵字標(biāo)識(shí)了ECMAScript語句的開頭和/或結(jié)尾,。根據(jù)規(guī)定,關(guān)鍵字是保留的,,不能用作變量名或函數(shù)名,。下面是ECMAScript關(guān)鍵字的完整列表:

break else new var
case finally return void
catch for switch while
continue function this with
default if throw  
delete in try  
do instanceof typeof  

如果把關(guān)鍵字用作變量名或函數(shù)名,可能得到諸如“Identifier expected”(應(yīng)該有標(biāo)識(shí)符,缺少標(biāo)識(shí)符)這樣的錯(cuò)誤消息,。

保留字

保留字是對(duì)于JavaScript有特殊含義的單詞,。因此,不能將它們用作變量名或函數(shù)名,。也就是說,,它們可能是JavaScript未來版本中的命令?,F(xiàn)在就應(yīng)該避免使用它們,以免在新版本發(fā)布時(shí)不得不修改代碼,。如果將保留字用作變量名或函數(shù)名,,那么除非將來的瀏覽器實(shí)現(xiàn)了該保留字,否則很可能收不到任何錯(cuò)誤消息,。當(dāng)瀏覽器將其實(shí)現(xiàn)后,,該單詞將被看作關(guān)鍵字,如此將出現(xiàn)關(guān)鍵字錯(cuò)誤,。

ECMAScript 3為以后保留的單詞:

abstract final protected
boolean float public
byte goto short
char implements static
class import super
const int synchronized
debugger interface throws
double long transient
enum native volatile
export package extends
private    

ECMAScript 4:ECMAScript4現(xiàn)在還沒有什么實(shí)現(xiàn).ECMAScript4中,下面的不再是保留字了,但也應(yīng)該盡量不要使用它們

boolean final short byte float static char int double long

下面的被加入了保留字

as namespace use false true null is

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多