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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] # 題1、什么是全局變量?什么是局部變量? 答: 局部變量: 定義在函數內的變量,只能在函數中使用,并且只有在調用函數時存在,函數執行完之后變量就銷毀了(流星一樣,一劃就沒了)。 全局變量: 定義在函數外的變量,在所有地方都可以使用,并且變量的值一直存在(像恒星一樣,一直存在)。 # 題2、定義變量可以使用 let 和 var ,那它們有什么區別? 答: var 1. 能定義全局變量和局部變量 2. 可以重復定義變量 3. 變量提升(先使用變量,后定義) let 1. 能定義全局變量、局部變量、塊級變量(大括號之內的變量) 2. 不能重復定義一個變量 3. 不能變量提升(必須先定義,再使用) ~~~ var name = 'tom' var name = 'jack' ? // 可以 ? let age = 10 let age = 20 ? ? // 報錯!!重復定義了 ? // let 定義塊級作用域:只能在 for 循環中使用 for(let i=0; i<10; i++) { ? } console.log( i ) ?// 報錯!! ? // var 定義的是全局變量(函數外) for(var i=0; i<10; i++) { ? } console.log( i ) ?// 11 ~~~ # 題3、break 是干什么用的?continue 是干什么用的? 答: break: 退出循環(出循環) continue: 結束本次循環,進入下一次循環(還在循環內) ~~~ // break 的用法 for (let i = 0; i < 3; i++) { ? ?if (i == 1) break ? // 退出循環 ? ?console.log(i); // 輸出結果: 0 } ? // continue 的用別 for (let i = 0; i < 3; i++) { ? ?if (i == 1) continue ? // 結束本次循環,進入下一次循環 ? ?console.log(i); // 輸出結果: 0 2 } ~~~ # 題4、 switch ... case 是干什么用的? 答: 多向分支,當分支多的時候性能比if ... else更好,類似于 if ...else if ... else if ... else if... ~~~ // switch ... case 的用法 var day; // getDay() 方法返回 0 至 6 的數字周名 switch (new Date().getDay()) { ? ?case 0: ? ? ? ?day = "星期天"; ? ? ? ?break; ? ?case 1: ? ? ? ?day = "星期一"; ? ? ? ?break; ? ?case 2: ? ? ? ?day = "星期二"; ? ? ? ?break; ? ?case 3: ? ? ? ?day = "星期三"; ? ? ? ?break; ? ?case 4: ? ? ? ?day = "星期四"; ? ? ? ?break; ? ?case 5: ? ? ? ?day = "星期五"; ? ? ? ?break; ? ?case 6: ? ? ? ?day = "星期六"; ? ? ? ?break; } console.log(day); ? // 當前星期 ? ~~~ 注意:每個條件中需要添加 break 退出 switch,如果不添加 break 會直接執行下面的 case 直到遇到 break; default 關鍵詞規定不存在 case 匹配時所運行的代碼; ~~~ let day ?= 1 switch(day) { ? ?case 1: ? ? // 匹配 ? ? ? ?console.log('星期一') ? ?// <-- 這里沒加 break 所以會向下執行下一個 case ? ?case 2: ? ? ? ?console.log('星期二') ? ? ? ?break ?// ..... ? ?case 7: ? ? ? ?console.log('星期日') ? ? ? ?break ? ?default: ?// 如果前面的條件都不滿足時執行 ? ? ? ?console.log('數字不是1~7') ? ? ? ?break } ? //最終輸出結果是:星期一 星期二 ~~~ # 題5、return 是干什么用的? 答: 只能用在函數中。 用途: 1. 退出函數 2. 在退出的時候可以把函數中的數據返回到調用它的地方 ~~~ // return 的用法 function abc() { ? ?let a = 10 ? ?let b = 20 ? ?return a + b ? // 退出函數并返回 a+ b 的值 } console.log(abc()) ? // 30 ? // 如果函數中沒有 return 那么函數的返回值是 undefined: function abc() { ? ?let a = 10 ? ?let b = 20 ? ?a + b ? // 退出函數并返回 a+ b 的值 } console.log(abc()) ? // undefined ~~~ # 題6、arguments 是干什么用的? 答: 1. 只能用在函數中 2. 它是一個數組 3. 代表調用函數時傳的參數 ~~~ // arguments 用法 function abc() { ? ?console.log(typeof arguments); ?// object ? ?console.log(arguments) ?// [Arguments] { '0': 'tom', '1': 10, '2': 'hi' } ? ?console.log(arguments.length) ? // 3 ? ?// 可以使用索引確定單個參數的類型 ? ?console.log(typeof arguments[0]); ? // string } abc('tom', 10, 'hi') ~~~ # 題7、在函數中,如何知道調用這個函數時一共傳了幾個參數? 答: 在函數中使用 `arguments.length` 。 ~~~ function abc() { ? ?console.log(arguments.length) } ? abc(1,2,3,4,6,7) ? // 6 abc('hello') ? ? ? ?// 1 ~~~ # 題8、 JS 中如何獲取一個隨機數? 答: 使用 `Math.random` 可以得到一個\[0~1)之間的隨機數(包含0,不包含1) # 題9、如何獲取當前時間? 答: 當前時間:`new Date()` 。 當前時間戳:`Date.now()` ;得到的是毫秒為單位的秒數。 時間戳: 從 1970年1月1日0時0分0秒 這個時間點到現在所經歷的秒數。 # 題10、如何把一個變量強制類型轉換成數字? 答: 使用 `Number` 或 `+` 。 parseInt:轉整數 parseFloat: 轉小數 ~~~ // 把一個變量強制類型轉換成數字 let a = '013' let b = Number(a) ? // 13 let c = +a; ? ? // 13 console.log(c); ~~~ # 題11、NaN 是什么? 答: Not a Number (不是一個數字) 。一些不合理的數學運算時會得到 NaN。 ~~~ // NaN let a = 'abc' let b = Number(a) ? // NaN ? abc 轉完之后不是一個數字 console.log('abc' - 1234) ? // NaN ~~~ # 題12、當我們進行小數運算時,經常會得到不精確的值,這時怎么辦? 答: 使用 `toFixed` 指定要精確到的小數位。 ~~~ // 做小數運算精確 console.log(0.34 + 0.48); ? // 0.8200000000000001 ? // 解決方法: 使用 toFixed 明確小數位 (0.34 + 0.48).toFixed(2) ? // 0.82 ~~~
                  <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>

                              哎呀哎呀视频在线观看