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