JavaScript红宝书笔记(二)---操作符及语句

1.负数二进制存储运用的花样是二进制补码,盘算一个数值的二进制补码步骤以下:
(1)取该值的绝对值的二进制(2)取反码(3)反码+1,从而得出补码

2.位操纵:
(1)左移<<:左移标记位稳定,空位填0补充
(2)有标记右移>>:右移发生的空位以标记位添补,正数0添补、负数1添补
(3)无标记右移>>>:无标记右移将负数得出二进制补码,当做正数举行右移操纵

3.逻辑与和逻辑或都为短路操纵,逻辑与(逻辑或)第一个操纵数为false(true)背面纵然会发生毛病都不会去检测。

4.Infinity与0相乘,效果为NaN;Infinity与非0数值相乘,效果为Infinity或许-Infinity;
Infinity除以Infinity,效果为NaN;0除以0,效果为NaN;
假如黑白零的有限数被零除,则效果是 Infinity 或-Infinity;
总的来说,得出的效果为不可展望的基础都为NaN

5.任何操纵数与 NaN 举行关联比较,效果都是 false。

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增添标签的用法:

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 语句的作用是将代码的作用域设置到一个特定的对象中

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语句,会形成调试的难题增添)

    原文作者:rirmk
    原文地址: https://segmentfault.com/a/1190000019419975
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞