JS的一些小知識

2022-01-14 14:03:34 字數 482 閱讀 8524

1. bind()函式無法改變es6箭頭函式中this的指向

const a = ()=>

a.bind(document)()

2.當使用~~按位非進行型別轉化時,轉換浮點數會丟失小數點後的數,當字串大於2147483647(即2的31次方減一)時轉化會出問題,所以我們盡量少用~~轉化過大的字串

~~'15.121'   //返回15

~~2147483647  //返回2147483647

~~2147483648  //返回-2147483648   即2的31次方

3.typeof null 等於object的原因

在js最初的版本中,使用的是32位系統,為了效能考慮使用低位儲存了變數的型別資訊,000開頭代表的是物件,然而null表示為全零,所以將它錯誤的判斷為object

雖然現在的內部型別判斷**已經改變了,但是對於這個 bug 卻是一直流傳下來。

JS的一些小知識點

1.在函式中定義的變數只能在此函式中使用 之前一直對這個很模糊,最近看了一些資料,談談對這個的理解。settimeout 和非同步是有一定關係的,它有兩個引數,第乙個引數是乙個函式或者js語句,第二個引數是乙個時間,單位是ms。瀏覽器遇到settimeout後會立即執行,然後開始計時,經過乙個時間段...

一些小知識

1.答 int elev 10 0.5 10 3答 arctoolbox中有直接的工具!data management tools features feature to polygon 4如何用arcgis實現指定範圍的dem水平切面 主要是想實現dem和水面結合的三維效果 但如何計算水面範圍 答...

初步JS的一些小知識點

知識點 當乙個變數已經宣告而沒有賦值的時候,此時的這個變數就是undefined。乙個number型別的變數加上或者減去乙個undefined 宣告卻沒有定義 型別的變數 會出現nan。判斷的是資料的內容,而忽略了資料的型別。比如 var a 3 var b 3 alert a b 此時會在瀏覽器的...