博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js词法作用域规则
阅读量:6415 次
发布时间:2019-06-23

本文共 516 字,大约阅读时间需要 1 分钟。

function foo() {

console.log( a ); // 2不是3
}

function bar() {
var a = 3;
foo();
}

var a = 2;

bar();

js中的作用域就是词法作用域 

词法作用域是一套关于引擎如何寻找变量以及会在何处找到变量的规

则。 词法作用域最重要的特征是它的定义过程发生在代码的书写阶段( 假设你没有使用
eval() 或 with)

而动态作用域并不关心函数和作用域是如何声明以及在何处声明的, 只关心它们从何处调

用。 换句话说, 作用域链是基于调用栈的, 而不是代码中的作用域嵌套.

所以js的作用域是词法作用域即从函数书写时的位置寻找.

=====================================================================

主要区别: 词法作用域是在写代码或者说定义时确定的, 而动态作用域是在运行时确定

的。( this 也是! ) 词法作用域关注函数在何处声明, 而动态作用域关注函数从何处调用

转载于:https://www.cnblogs.com/a-flydog/p/5527168.html

你可能感兴趣的文章
讲讲python“=”运算符上的优雅语法
查看>>
jQuery Ajax封装通用类 (linjq)
查看>>
备忘---ruby
查看>>
windows mysql忘记密码解决方案
查看>>
Linux 下用 valgrind 查找内存泄漏小例子
查看>>
需要为你的SaaS改变走向市场策略吗?本文介绍了ISV怎样使用Windows Azure实现它...
查看>>
Search in a Big Sorted Array
查看>>
已知二叉树的先序遍历序列和中序遍历序列,输出该二叉树的后序遍历序列
查看>>
swift 笔记 (十一) —— 方法(类,结构体,枚举)
查看>>
python面向对象编程
查看>>
WebService概述和CXF入门小程序
查看>>
微信出现关闭网页
查看>>
《正则表达式》知识点汇总摘录
查看>>
php静态变量问题
查看>>
vue中路由返回上一个页面,恢复到上一个页面的滚动位置
查看>>
LeetCode--067--二进制求和
查看>>
计蒜客——无脑博士的试管们
查看>>
基于corosync+pacemaker+drbd+LNMP做web服务器的高可用集群
查看>>
Robot Framework 学习(2)- 页面元素定位
查看>>
《代码敲不队》第八次团队作业:Alpha冲刺 第二天
查看>>