日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

js function如何传入参数未字符串_JavaScript 学习之路- JS 小测验

發布時間:2024/1/23 javascript 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js function如何传入参数未字符串_JavaScript 学习之路- JS 小测验 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在學習 JS 的過程中,很多知識往往看一遍就過去了,然后自以為掌握了,其實再次碰到不一定能答得出來,看到一些有趣的東西還是要動手實踐一下,而且時不時復習一下,非常有利于加深記憶。今天是五一,假日期間,好好休息玩耍,也別學什么新東西了,你可以看看以下這些問題以及相關知識點來看看自己掌握了多少,溫故知新。

問題不多,耐心看完。最下方有答案,先別急著翻,自己先想想。

問題

  • JS 格式化,用逗號分隔千分位數字
  • 運行 [1, 2, 2].fill(3, 1, 3) 會輸出什么
  • ~~3.5 的結果是什么
  • 如何判斷一個數組的長度是奇數還是偶數
  • JSON.parse 和 JSON.stringify 的作用
  • typeof null為什么等于 "object",它的判斷原理是什么
  • 如何判斷一個元素是否為數組
  • <<` 和 `>&gt; 運算符
  • function add(){} 和 var add = function(){} 解析時的區別
  • 執行以下代碼,輸出是什么?為什么?
  • var arr=[1,2,3,4,5]; for(var i=0;i<arr.length;i++) {arr[i]=function(){alert(i)} } arr[3]();

    參考答案

    如有錯誤,請幫忙指正。

  • JS 格式化,用逗號分隔千分位數字
  • 兩種方法,一種是使用 tolocaleString()

    var a = 1999; a.toLocaleString(); // "1,999"

    另外一種是正則表達式

    var re = /(?!^)(?=(d{3})+$)/g; var a = "12345678"; a.replace(re, ','); // "12,345,678"
  • 運行 [1, 2, 2].fill(3, 1, 3) 會輸出什么? 答案是 [1,3,3]
  • fill 方法接受三個參數:num,start,end 。num 是你要填充的數字,start 是填充的起始位置,end 是終止位置。fill(3,1,3) 表示從索引 1 開始到索引 3 之間的元素填充為 3
  • ~~3.5 的結果是什么?答案是 3
  • 對于非數字,~~ 的結果為0,有個例外是 ~~ true 結果為 1
    對于大于 0 的數,~~ 相當于是Math.floor
    對于小于 0 的數,~~ 相當于是Math.ceil
  • 如何判斷一個數組的長度是奇數還是偶數?答案是len &amp; 1,len 為數組長度,奇數結果為true
  • 只要 “&&” 前面是false,無論 “&&” 后面是 true 還是 false,結果都將返 “&&” 前面的值;
    只要 “||” 前面為 false,不管 “||” 后面是 true 還是 false,都返回 “||” 后面的值。
  • JSON.parse 和 JSON.stringify 的作用?
  • JSON.parse 將一個 json 轉化為 JavaScript Object string 類型
    JSON.stringify 將一個 string 轉化為 json 類型
  • typeof null為什么等于 "object",它的判斷原理是什么
  • js 底層存儲變量采用二進制,會在變量的機器碼的低位 1-3 位存儲其類型信息
    000:對象
    010:浮點數
    100:字符串
    110:布爾
    1:整數
    null:全0
    undefined:-2^30
    所以 typeof null 為顯示為 object 對象。
  • 如何判斷一個元素是否為數組?
    假設待判斷對象為 arr ,有四種方法,一是
  • Object.prototype.toString.call(arr) == '[object Array]'

    或者是

    arr instanceof Array

    又或是

    Array.isArray(arr)

    第四種方法可以用

    arr.__proto__.constructor == Array
  • <<` 和 `>&gt; 運算符相關操作?
  • 左移 << 將一個數的二進制表示向左移動 n 位,右邊用0填充。 右移 >> 將一個數的二進制表示向右移 n 位,舍棄被移出的位。
    簡單點說,a >> n 相當于用 a 去除以 2 的 n 次方,所以 8 >> 1 結果為 4;
    而 a << n 相當于用 a 去乘以 2 的 n 次方,所以 2 << 5 結果為 64
  • function add() {} 和 var add = function (){} 解析時的區別
  • 前者是執行前就會被解析(執行前就會讀取函數名),而后者是執行過程中解析。所以 function add() {} 在執行里面的代碼前就會讀取函數名 add , 而 var add = function (){} 則是執行時逐步解析。
  • 執行以下代碼,輸出是什么?為什么?
  • var arr=[1,2,3,4,5]; for(var i=0;i<arr.length;i++) {arr[i]=function(){alert(i)} } arr[3]();答案是輸出 i 的值為 5 。這個是與閉包有關的經常看到的問題,不管運行函數時傳入的 i 是什么,最終輸出的都是 for 循環結束時的 i 的值,也就是數組的長度,因為匿名函數里的這句 alert(i) 執行的時候需要找到 i 變量,里面沒有,那就只好去父級里找,而父級里的 i 在 for 循環,所以最終給到它的是循環的終止條件,也就是 i = 5 。
    解決方法也很簡單,要么把 for() 里面的 var 換成 let ,形成塊級作用域;要么使用閉包,匿名函數里在返回一個匿名函數,并且傳入 i 立刻執行。

    (完)

    謝謝您的閱讀。記得點個贊和關注。

    總結

    以上是生活随笔為你收集整理的js function如何传入参数未字符串_JavaScript 学习之路- JS 小测验的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。