1.負數二進制存儲使用的格式是二進制補碼,計算一個數值的二進制補碼步驟以下:
(1)取該值的絕對值的二進制(2)取反碼(3)反碼+1,從而得出補碼url
2.位操做:
(1)左移<<:左移符號位不變,空位填0補充
(2)有符號右移>>:右移產生的空位以符號位填充,正數0填充、負數1填充
(3)無符號右移>>>:無符號右移將負數得出二進制補碼,當成正數進行右移操做調試
3.邏輯與和邏輯或都爲短路操做,邏輯與(邏輯或)第一個操做數爲false(true)後面即便會產生錯誤都不會去檢測。code
4.Infinity與0相乘,結果爲NaN;Infinity與非0數值相乘,結果爲Infinity或者-Infinity;
Infinity除以Infinity,結果爲NaN;0除以0,結果爲NaN;
若是是非零的有限數被零除,則結果是 Infinity 或-Infinity;
總的來講,得出的結果爲不可預測的基本都爲NaN對象
5.任何操做數與 NaN 進行關係比較,結果都是 false。ip
6.因爲 ECMAScript 中不存在塊級做用域,所以在循環內部定義的變量也能夠在外部訪問到。作用域
var count = 10; for (var i = 0; i < count; i++){ alert(i); } alert(i); //10
7.for-in 語句是一種精準的迭代語句,能夠用來枚舉對象的屬性開發
for (var propName in window) { document.write(propName); }
8.label添加標籤的用法:string
outermost: for (var i=0; i < 10; i++) { for (var j=0; j < 10; j++) { if (i == 5 && j == 5) { break outermost; } num++; } } alert(num); //55
9.with 語句的做用是將代碼的做用域設置到一個特定的對象中it
var qs = location.search.substring(1); var hostName = location.hostname; var url = location.href; with(location){ var qs = search.substring(1); var hostName = hostname; var url = href; }
在 with 語句的代碼塊內部,每一個變量首先被認爲是一個局部變量,而若是在局部環境中找不到該變量的定義,就會查詢location 對象中是否有同名的屬性。若是發現了同名屬性, 則以 location 對象屬性的值做爲變量的值。(實際開發不建議使用with語句,會形成調試的困難增長)io