JavaScript读书笔记(JavaScript高级程序设计)

1, var , let , const

  http://www.infoq.com/cn/articles/es6-in-depth-let-and-const

2, 简单数据类型,基本数据类型 

Undefined, Null, Boolean, Number, String

复杂数据类型

Object

3, typeof 操作符

检测给定变量的数据类型

"undefined", "boolean", "string", "number", "object", "function"

调用 typeof null会返回"object",因为特殊值 null 被认为是一个空的对象引用。Safari 5 及之前版本、Chrome 7 及之前版本在对正则表达式调用 typeof 操作符时会返回"function",而其他浏览器在这种情况下会返回"object"

对未声明的变量执行 typeof 操作符同样会返回 undefined 值

确定一个值是哪种基本类型可以使用 typeof 操作符,而确定一个值是哪种引用类型可以使用instanceof 操作符

4, 实际上,undefined 值是派生自 null 值的,因此 ECMA-262 规定对它们的相等性测试要返回 true

5, Boolean()

虽然 Boolean 类型的字面值只有两个,但 ECMAScript 中所有类型的值都有与这两个 Boolean 值等价的值。要将一个值转换为其对应的 Boolean 值,可以调用转型函数 Boolean()

下表给出了各种数据类型及其对应的转换规则



 ① n/a(或 N/A),是 not applicable 的缩写,意思是“不适用”。

6, 任何操作数与 NaN 进行关系比较,结果都是 false

var result1 = NaN < 3; //false

var result2 = NaN >= 3; //false 

7, 相等和全等 ==, ===


null == undefined 会返回 true,因为它们是类似的值;但 null === undefined 会返回 false,因为它们是不同类型的值

8, 无须指定函数的返回值,因为任何 ECMAScript 函数都可以在任何时候返回任何值

ECMAScript 中也没有函数签名的概念,因为其函数参数是以一个包含零或多个值的数组的形式传递的

可以向 ECMAScript 函数传递任意数量的参数,并且可以通过 arguments 对象来访问这些参数

由于不存在函数签名的特性,ECMAScript 函数不能重载

9, JavaScript 没有块级作用域

但在 JavaScript 中,if 语句中的变量声明会将变量添加到当前的执行环境中


JavaScript高级程序设计

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值