代码分块带来的语法效果是信息隐藏
语法作用域 | 表达式,语句,函数,全局 |
形式上的规范,语法分析阶段对代码组织结构的理解 |
变量作用域 | 表达式,函数,全局 |
实际的占有,代码执行阶段对变量存储的理解 |
- JS的变量作用域并没有
语句
这个级别 - 流程变更子句:
continue, break, return, throw
- 语法作用域分级
- 相同级别的语法作用域可以相互嵌套。
- 高级别的语法作用域能够包含低级别的语法作用域。
- 低级别的语法作用域名不能包含高级别的语法作用域。
- 高级别的流程控制语句,对低级别的语句的作用域会产生突破。
- 变量作用域与变量声明周期
变量声明周期 | |
---|---|
创建 | 语法分析阶段:发现显式声明时 代码执行,发现试图写一个未被创建的变量时 |
释放 | 执行到函数结束/退出,将清除函数内未被引用的变量 全局终结/重载时,清除全局的变量和数据引用 |
变量作用域讨论的是“在形式上这个变量能在那个范围内存取”,变量的生命周期讨论的是“在实现的什么时候创建和释放一个变量”
网友评论