js词法作用域规则
2024-10-16 04:48:30
function foo() {
console.log( a ); // 2不是3
}
function bar() {
var a = 3;
foo();
}
var a = 2;
bar();
js中的作用域就是词法作用域
词法作用域是一套关于引擎如何寻找变量以及会在何处找到变量的规
则。 词法作用域最重要的特征是它的定义过程发生在代码的书写阶段( 假设你没有使用
eval() 或 with)
而动态作用域并不关心函数和作用域是如何声明以及在何处声明的, 只关心它们从何处调
用。 换句话说, 作用域链是基于调用栈的, 而不是代码中的作用域嵌套.
所以js的作用域是词法作用域即从函数书写时的位置寻找.
=====================================================================
主要区别: 词法作用域是在写代码或者说定义时确定的, 而动态作用域是在运行时确定
的。( this 也是! ) 词法作用域关注函数在何处声明, 而动态作用域关注函数从何处调用
最新文章
- Stm32F107VCT6硬件资源
- java 随机数 优惠码 生成 随机字串
- php排序 sort、rsort、asort、arsort、ksort、krsort
- JAVA基础知识之JVM-——自定义类加载器
- Akka学习博客
- go again
- hdu 3118(二进制枚举)
- Using command-line Subversion to access project source files
- 【解决】Oracle服务器ip地址被占用
- 【转】YUV值对应的颜色
- linux下挂载iso镜像文件(转)
- APP崩溃提示:This application is modifying the autolayout engine from a background thread after the engine was accessed from the main thread. This can lead to engine corruption and weird crashes.
- zabbix如何监控进程
- C#:往数据库插入/更新时候关于NUll空值的处理
- 在Django中使用ORM创建图书管理系统
- aria2的下载配置
- 改变html元素
- 两台linux之间建立信任关系,实现免密码ssh远程登录或scp数据上传
- phpcms v9模板制作常用代码集合
- 基本控件文档-UISlider属性---iOS-Apple苹果官方文档翻译