<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # javascript快速入門7--ECMAScript語法基礎 ## ECMAScript的基礎概念 熟悉Java、C和Perl這些語言的開發者會發現ECMAScript的語法很容易掌握,因為它借用了這些語言的語法。Java和ECMAScript有一些關鍵語法特性相同,也有一些完全不同。ECMAScript的基礎概念如下: * 區分大小寫。與Java一樣,變量、函數名、運算符以及其他一切東西都是區分大小寫的,也就是說,變量test不同于變量Test。 * 變量是弱類型的。與Java和C不同,ECMAScript中的變量無特定的類型,定義變量時只用var運算符,可以將它初始化為任意的值。這樣可以隨時改變變量所存數據的類型(盡管應該避免這樣做,但作為Web開發,這確實可以提高效率)。 * 每行結尾的分號可有可無。Java、C和Perl都要求每行代碼以分號(;)結束才符合語法。ECMAScript則允許開發者自行決定是否以分號結束一行代碼。如果沒有分號,ECMAScript就把這行代碼的結尾看作該語句的結尾(與Visual Basic和VBScript相似),前提是這樣沒有破壞代碼的語義。最好的代碼編寫習慣是總加入分號,因為沒有分號,有些瀏覽器就不能正確運行! * 注釋與Java、C和PHP語言的注釋相同。ECMAScript借用了這些語言的注釋語法。有兩種類型的注釋——單行注釋和多行注釋。單行注釋以雙斜線(//)開頭。多行注釋以單斜線和星號(/*)開頭,以星號加單斜線結尾(*/)。 * 括號表明代碼塊。從Java中借鑒的另一個概念是代碼塊。代碼塊表示一系列應該按順序執行的語句,這些語句被封裝在左括號({)和右括號(})之間。 一些示例如下: ``` var txt = "some string"; TXT = "other string";//TXT無須聲明,可以直接賦值 alert(txt==TXT);//false var str = "string" //分號可有可無 var hob = "No";var bob = "Yes";//使用分號,可以在一行上寫多行語句 /* 多行注釋 alert("注釋中的代碼不會被執行") */ if (txt=="some string") {//代碼塊 alert(true); } ``` ## 變量 如前所述,ECMAScript中的變量是用var運算符(variable的縮寫)加變量名定義的,例如: ``` var test = "Hello!World!"; ``` 在這個例子中,聲明了變量test,并把它的值初始化為"Hello!World!"(字符串)。由于ECMAScript是弱類型的,所以解釋程序會為test自動創建一個字符串值,無需明確的類型聲明。還可以用一個var語句定義兩個或多個變量: ``` var a = "some",b="string" ``` 前面的代碼定義了變量test,初始值為"some",還定義了變量test2,初始值為"string"。不過用同一個var語句定義的變量不必具有相同的類型,如下所示: ``` var a=12,b="string"; ``` 即使a和b屬于兩種不同的數據類型,在ECMAScript中這樣定義也是完全合法的。與Java不同,ECMAScript中的變量并不一定要初始化(它們是在幕后初始化的,將在后面討論這一點)。因此,下面一行代碼也是有效的: ``` var a; //只聲明 ``` 此外,與Java不同的還有變量可以存放不同類型的值。這是弱類型變量的優勢。例如,可以把變量初始化為字符串類型的值,之后把它設置為數字值,如下所示: ``` var test = "string"; alert(test); //.....若干代碼后 test=123;//更改了類型 alert(test); ``` 這段代碼將毫無問題地輸出字符串值和數字值。但是,如前所述,使用變量時,好的編碼習慣是始終存放相同類型的值。變量名需要遵守兩條簡單的規則: * 第一個字符必須是字母、下劃線(_)或美圓符號($) * 余下的字符可以是下劃線、美圓符號或任何字母或數字字符。 下面的變量名都是合法的: ``` var a; var $a; var $; var _a; var _; var a23; ``` 當然,只是因為變量名的語法正確并不意味著就該使用它們。變量還應遵守一條著名的命名規則: * Camel標記法——首字母是小寫的,接下來的單詞都以大寫字母開頭 * Pascal標記法——首字母是大寫的,接下來的單詞都以大寫字母開頭 * 匈牙利類型標記法——在以Pascal標記法命名的變量前附加一個小寫字母(或小寫字母序列),說明該變量的類型。例如,i表示整數,s表示字符串 下面的表列出了用匈牙利類型標記法定義ECMAScript變量使用的前綴: | 類型 | 前綴 | 示例 | | --- | --- | --- | | 數組 | a | aValues | | 布爾型 | b | bFound | | 浮點型(數字) | f | fValue | | 函數 | fn | fnMethod | | 整型(數字) | i | iValue | | 對象 | o | oType | | 正則表達式 | re | rePattern | | 字符串 | s | sValue | | 變型(可以是任何類型) | v | vValue | 下面是一些命名示例  ? ``` var userName="CJ";//駝峰命名方式 var UserName="CJ";//Pascal命名方式 var sUserName="CJ";//匈牙利命名方式 ``` ECMAScript另一個有趣的方面(也是與大多數程序設計語言的主要區別)是在使用變量之前不必聲明。例如: ``` var str ="some"; otherStr += str+" "+"string"; alert(otherStr); ``` 在上面的代碼中,變量otherStr并沒有用var運算符定義,這里只是插入了它,就像已經聲明過它。ECMAScript的解釋程序遇到未聲明過的標識符時,用該變量名創建一個**全局變量**,并將其初始化為指定的值。這是該語言的便利之處,不過如果不能緊密跟蹤變量,這樣做也很危險。最好的習慣是像使用其他程序設計語言一樣,總是聲明所有變量。 ## 關鍵字 ECMA-262定義了ECMAScript支持的一套關鍵字(keyword)。這些關鍵字標識了ECMAScript語句的開頭和/或結尾。根據規定,關鍵字是保留的,不能用作變量名或函數名。下面是ECMAScript關鍵字的完整列表: | | | | | --- | --- | | 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 | 如果把關鍵字用作變量名或函數名,可能得到諸如“Identifier expected”(應該有標識符,缺少標識符)這樣的錯誤消息。 ## 保留字 保留字是對于JavaScript有特殊含義的單詞。因此,不能將它們用作變量名或函數名。也就是說,它們可能是JavaScript未來版本中的命令。現在就應該避免使用它們,以免在新版本發布時不得不修改代碼。如果將保留字用作變量名或函數名,那么除非將來的瀏覽器實現了該保留字,否則很可能收不到任何錯誤消息。當瀏覽器將其實現后,該單詞將被看作關鍵字,如此將出現關鍵字錯誤。 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現在還沒有什么實現.ECMAScript4中,下面的不再是保留字了,但也應該盡量不要使用它們 ``` boolean final short byte float static char int double long ``` 下面的被加入了保留字 ``` as namespace use false true null is ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看