<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] # 基本語法 ## 語法 JavaScript每個語句以`;`結束,語句塊用`{...}`。但是,JavaScript并不強制要求在每個語句的結尾加`;`,瀏覽器中負責執行JavaScript代碼的引擎會自動在每個語句的結尾補上`;`。 例如,下面的一行代碼就是一個完整的賦值語句: ~~~javascript var x = 1; ~~~ > 定義變量可以使用var或者let關鍵字 下面的一行代碼包含兩個語句,每個語句用`;`表示語句結束: ~~~ var x = 1; var y = 2; // 不建議一行寫多個語句! ~~~ 語句塊是一組語句的集合,例如,下面的代碼先做了一個判斷,如果判斷成立,將執行`{...}`中的所有語句: ~~~javascript if (2 > 1) { x = 1; y = 2; z = 3; } ~~~ 注意花括號`{...}`內的語句具有縮進,通常是4個空格。縮進不是JavaScript語法要求必須的,但縮進有助于我們理解代碼的層次,所以編寫代碼時要遵守縮進規則。很多文本編輯器具有“自動縮進”的功能,可以幫助整理代碼。 `{...}`還可以嵌套,形成層級結構: ~~~javascript if (2 > 1) { x = 1; y = 2; z = 3; if (x < y) { z = 4; } if (x > y) { z = 5; } } ~~~ JavaScript本身對嵌套的層級沒有限制,但是過多的嵌套無疑會大大增加看懂代碼的難度。遇到這種情況,需要把部分代碼抽出來,作為函數來調用,這樣可以減少代碼的復雜度。 ## 注釋 以`//`開頭直到行末的字符被視為行注釋,注釋是給開發人員看到,JavaScript引擎會自動忽略: ~~~ // 這是一行注釋 alert('hello'); // 這也是注釋 ~~~ 另一種塊注釋是用`/*...*/`把多行字符包裹起來,把一大“塊”視為一個注釋: ~~~ /* 從這里開始是塊注釋 仍然是注釋 仍然是注釋 注釋結束 */ ~~~ ## 大小寫 請注意,JavaScript嚴格區分大小寫,如果弄錯了大小寫,程序將報錯或者運行不正常。 # 變量與常量 ## JavaScript 變量 與代數一樣,JavaScript 變量可用于存放值(比如 x=5)和表達式(比如 z=x+y)。 變量可以使用短名稱(比如 x 和 y),也可以使用描述性更好的名稱(比如 age, sum, totalvolume)。 * 變量必須以字母開頭 * 變量也能以 $ 和 \_ 符號開頭(不過我們不推薦這么做) * 變量名稱對大小寫敏感(y 和 Y 是不同的變量) ## 變量和常量的聲明 變量聲明使用var,let,常量的定義使用const。 ``` var x=1; let y=2; const z=3; ``` > 顧名思義,常量是不能改變的量,也就是說定義后不能再次對它賦值,如下的語句會報錯 ``` const x=1; x=x+1; ``` ## var和let的區別 在ES6以前,var關鍵字聲明變量。無論聲明在何處,都會被視為聲明在函數的最頂部(不在函數內即在全局作用域的最頂部)。這就是函數變量提升。 例如: ```js function fn() { if(bool) { var name = 'Jack' } else { console.log(name) } } ``` 以上的代碼實際上是: ```javascript function fn() { var name // 變量提升 if(bool) { name = 'Jack' } else { //此處訪問name 值為undefined console.log(name) } //此處訪問name 值為undefined } ``` 所以不用關心bool是否為true or false。實際上,無論如何name都會被創建聲明。這種語法規則會帶來很多的歧義。 ES6中,我們通常用let和const來聲明,let表示變量、const表示常量。let和const都是塊級作用域。通俗的講,{}大括號內的代碼塊即為let 和 const的作用域。 let的作用域是在它所在當前代碼塊,但不會被提升到當前函數的最頂部。 ```javascript function fn() { if(bool) { //let的作用域,限定在這個語句塊中 let name = 'Jack' } else { //超越了name的定義域 //name 在此處訪問不到 console.log(name) } } ``` > const定義常量,顧名思義,就是不能改變的量,對常量修改會報錯。 程序中不需要修改的值,或者不允許修改的值盡可能定義為常量,這樣可以減少程序語義上的錯誤。例如: ```javascript const name = 'Jack' name = 'Tom' //再次賦值此時會報錯 ```
                  <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>

                              哎呀哎呀视频在线观看