JavaScript权威指南笔记

为什么80%的码农都做不了架构师?>>>   hot3.png

第二章   词法结构

  1. JavaScript区分大小写;/html不区分大小写
  2. JavaScript会忽略程序中标识(token)之间的空格;
  3. 直接量:程序中直接使用的数据值;
  4. 标识符:字母、下划线(_)、美元($)
  5. 保留字:JavaScript把一些标识符拿出来做自己的关键字

 

第三章   类型、值和变量

 

  1. 原始类型(primitive type):数字,字符串,布尔值
  2. 对象类型(object type)
  3. 两个特殊的原始值:null,undefined
  4. 特殊的对象——数组,表示带编号的值的有序集合
  5. 特殊的对象——函数,具有与它相关联的可执行代码的对象,通过调用函数来运行可执行代码,并返回运算结果
  6. 如果用函数来初始化(new)一个新建对象,我们称之为构造函数(constructor),每个构造函数定义了一类(class)对象
  7. 另外三种有用的类:日期(Date),正则(RegExp),错误(Error)
  8. 原始类型 VS 对象类型,可以拥有方法的类型 VS 不可以,可变类型 VS 不可变
  9. 数字:Math,IEEE-754浮点数表示法,
  10. 文本:转义字符,模式匹配
  11. 布尔值
  12. null,undefined
  13. 全局对象
  14. 包装对象:存取数字,字符串或布尔值的属性时创建的临时对象
  15. 不可变的原始值,可变的对象引用:引用类型 VS 基本类型
  16. 类型转换:显式类型转换,parseInt(),parseFloat(),toString(),toFixed(),toExponential(),toPrecision()
  17. 对象转化为原始值:toString(),valueOf()
  18. 变量声明:重复的声明 VS 遗漏的声明
  19. 变量作用域(scope)
  20. 函数作用域和声明提前:函数内声明的所有变量在函数体内都是可见的。变量在声明之前甚至就可以用了——声明提前。
  21. 当声明一个全局变量时,就相当于定义了全局对象的一个属性。当使用var声明时,这个变量/属性是不可以delete的。
  22. 作用域链!!!

每一段javascript代码(全局代码或者函数)都有一个与之关联的作用域链(scope chain)。

这个作用域链是一个对象列表或链表,这组对象定义了这段代码“作用域中”的变量。

当javascript做变量解析的时候,会从链中的第一个对象开始查找,一直到找到该变量,否则抛出一个引用错误(ReferenceError)。

在javascript顶层代码中,作用域链由一个全局对象组成。

转载于:https://my.oschina.net/drei/blog/803786

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注