您的位置:首頁技術文章
文章詳情頁

js的一些潛在規則使用分析

瀏覽:215日期:2022-06-01 09:11:10
目錄
  • 為什么開發中建議使用void 0 來代替undefined
  • 為什么開發中將未賦值的變量賦值為null,而不是undefined
  • String類型的長度
  • 為什么parseInt在將字符串轉為數字的時候,需要指定第二個參數
  • 對象轉基本數據類型的規律
  • JavaScript 中對象獨有的特色
  • JavaScript對象分類
    • 宿主對象
    • 內置對象
    • 特殊行為對象

為什么開發中建議使用void 0 來代替undefined

因為 JavaScript 的代碼 undefined 是一個變量,而并非是一個關鍵字,這是JavaScript 語言公認的設計失誤之一,所以,我們為了避免無意中被篡改,我建議使用void 0 來獲取 undefined 值。

MDN上的解釋: undefined is a property of the global object. That is, it is a variable in global scope. The initial value of undefined is the primitive value undefined。

為什么開發中將未賦值的變量賦值為null,而不是undefined

null 表示的是:“定義了但是為空”。所以,在實際編程時,我們一般不會把變量賦值為 undefined,這樣可以保證所有值為 undefined 的變量,都是從未賦值的自然狀態。

String類型的長度

因為 String 的意義并非“字符串”,而是字符串的 UTF16 編碼,我們字符串的操作charAt、charCodeAt、length 等方法針對的都是 UTF16 編碼。所以,字符串的最大長度,實際上是受字符串的編碼長度影響的。

JavaScript 中的字符串是永遠無法變更的,一旦字符串構造出來,無法用任何方式改變字符串的內容,所以字符串具有值類型的特征。

JavaScript 字符串把每個 UTF16 單元當作一個字符來處理,所以處理非 BMP(超出U+0000 - U+FFFF 范圍)的字符時,你應該格外小心。

"\uD835\uDD46" // "
標簽: JavaScript
国产综合久久一区二区三区