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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 變量 聲明變量(數字、字符、下劃線及$); 初始化變量,賦初值; 單個var聲明多個變量,用逗號分隔; 區分大小寫; # 操作符 # 基本數據類型 * 數字——number * 字符串——string * 布爾值——boolean * undefined——訪問不存在的變量,未被定義 * null——沒有值、空值,已被定義 ## 查看類型——typeof ### number 當一個數字以0開頭時,就表示一個八進制數; 當以0x開頭時,就表示一個十六進制數。 指數形式 > 1e2、1e+2、1E2、1E+2——(在1后面加2個0) Infinity 無限數 NaN 非數 ### string string轉number ``` var s = '1'; s = 3 * s; typeof s; // "number" var s = '1'; s++; typeof s; // "number" var s = '100'; typeof s; // "string" s = s * 1; // 100 typeof s; // "number" ``` ### boolean 如果在一個非布爾值上執行邏輯運算,該值會在計算期間被轉換位布爾值: ``` var b = "one"; !b; // false var b = ""; !b; // true var b = "one"; !!b; // ?Boolean:雙反即本身;非布爾值先轉成取反布爾值,再取反變自身 // true var b = ''; !!b; // 空值即false // false var a = undefined; !!a; // false var a = null; !!a; // false ``` > 雙重取反轉換為等效布爾值 >**falsy**?:空字符串""/ null/ undefined/ 數字0/ 數字NaN/ 布爾值false > **truthy**:其他值 > 代碼可讀性:盡量使用括號而非優先級來設定代碼的執行順序 #### 惰性求值 ? 利用 **邏輯與/或** 可以執行若干邏輯操作,在第三庫中較常見 ``` // 當window對象中未定義$時,才將$指向Zepto window.$ === undefined && (window.$ = Zepto) true || false || true || false || true // true var a = 5; true || (a = 6); a; // 5 a=6未執行 true && (a = 6); a; // 6 ``` ``` true || "something"; // true true && "something"; // "something" // 如果變量mynum已經被定義了,就保留其原有值,否則賦值10 var mynum = mynum || 10; mynum; // 10 ``` ### 比較運算符 ? | 操作符 | 名稱 | 說明 | | --- | --- | --- | | == | 相等運算符 | 在比較前,兩邊的操作數會被自動轉換為相同類型 | | === | 等價運算符 | 不進行類型轉換,值和類型都要相同才為true | ``` // NaN不等于任何東西,包括它自己 NaN === NaN // false ``` ### undefined & null 變量不存在或未經賦值,訪問都會返回undefined; 不同的是,只能通過代碼賦為null; ``` var i = 1 + undefined; i; // NaN var i = 1 + null; i; // 1 ``` ``` !!undefined; // false !!null; // false ``` ``` "" + null; // "null" "" + undefined; // "undefined" ``` # 數組 用于存儲數據的列表; 索引位置從0開始; 用一對方括號來指定元素的索引值,`arr[index]`; 數組可存儲數組; ## 增加、更新 `arr[index] = 數值;` index不存在,增加值;index存在,更新值 ## 刪除 `delete arr[index];` # 循環 ## 代碼塊 被包括在0對或多對大括號中的那一段代碼 > 代碼可讀性:使用分號;/ 統一縮進格式/ 盡量使用大括號。 ### if條件表達式 簡單時,可使用三元運算符替代 很多else if時,使用`switch(a){ case x: break; default:;}`替代 ### 檢查變量是否存在 ``` var result = ''; if(somevar){result = 'yes';} // Uncaught ReferenceError: somevar is not defined if(!!somevar){result = 'yes'} // Uncaught ReferenceError: somevar is not defined result; // "" ``` 檢查變量是否存在,更好的選擇是使用typeof ? ``` var result = ''; if(typeof somevar !== 'undefined'){result = 'yes'}; result; // "" ``` ## 循環 while do-while for(初始化; 循環條件; 自增操作) > 循環條件值部分可以放在初始化中,減少計算操作; for-in 遍歷對象 for-of 遍歷數組等iterable對象 forEach
                  <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>

                              哎呀哎呀视频在线观看