资讯专栏INFORMATION COLUMN

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

AlphaWatch / 2252人阅读

摘要:与相乘,结果为与非数值相乘,结果为或者除以,结果为除以,结果为如果是非零的有限数被零除,则结果是或总的来说,得出的结果为不可预测的基本都为任何操作数与进行关系比较,结果都是。实际开发不建议使用语句,会造成调试的困难增加

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语句,会造成调试的困难增加)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/104529.html

相关文章

  • Effective JavaScript读书笔记(一)

    摘要:如果为假值,不传或者传入,函数都会返回但是,传入这个值是完全有可能的,所以这种判断形势是不正确的或者使用来判断也可以原始类型优于封装类型对象拥有六个原始值基本类型布尔值,数字,字符串,,和对象。 作为一个前端新人,多读书读好书,夯实基础是十分重要的,正如盖楼房一样,底层稳固了,才能越垒越高。从开始学习到现在,基础的读了红宝书《JavaScript高级程序设计》,犀牛书《JavaScri...

    zhoutao 评论0 收藏0
  • JavaScript宝书笔记(四)---变量、作用域和内存问题

    摘要:在操作对象时,实际上是在操作对象的引用而不是实际的对象。为此,引用类型的值是按引用访问的。标记清除是目前主流的垃圾收集算法,这种算法的思想是给当前不使用的值加上标记,然后再回收其内存 1.在操作对象时,实际上是在操作对象的引用而不是实际的对象。为此,引用类型的值是按引用访问的。 2.当从一个变量向另一个变量复制引用类型的值时,两个变量实际上将引用同一个对象,因此,改变其中一个变量,就会...

    imtianx 评论0 收藏0
  • JavaScript宝书笔记(一)---JS概述、变量基本数据类型等

    摘要:是一个数值可以被转换成数值不能转换成数值可以被转换成数值十六进制数八进制数十进制数十六进制数可以避免,无法使用方法转换成字符串的情况 1.JavaScript由三个部分组成:ECMAScript(提供核心语言功能)、DOM(文档对象模型,提供访问和操作网页内容的方法和接口)、BOM(浏览器对象模型,提供与浏览器交互的方法和接口) 2.JavaScript概念:是一种专为与网页交互而设计...

    sevi_stuo 评论0 收藏0
  • Effective JavaScript读书笔记

    摘要:尽可能的使用局部变量,少用全局变量。正确的实现就是在函数体内部使用将声明成局部变量。在新特性中,引入了块级作用域这个概念,因此还可以使用,来声明局部变量。它们共享外部变量,并且闭包还可以更新的值。 变量作用域 作用域,对于JavaScript语言来说无处不在,变量作用域,函数作用域(运行时上下文和定义时上下文),作用域污染等等都跟作用域息息相关,掌握JavaScript作用于规则,可以...

    Yuqi 评论0 收藏0
  • 前端补集 - 收藏集 - 掘金

    摘要:原文地址一个非常适合入门学习的博客项目前端掘金一个非常适合入门学习的项目,代码清晰结构合理新闻前端掘金介绍一个由编写的新闻。深入浅出读书笔记知乎专栏前端专栏前端掘金去年的一篇老文章,恰好今天专栏开通,迁移过来。 破解前端面试(80% 应聘者不及格系列):从闭包说起 - 掘金修订说明:发布《80% 应聘者都不及格的 JS 面试题》之后,全网阅读量超过 6W,在知乎、掘金、cnodejs ...

    YorkChen 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<