首页 > 学院 > 开发设计 > 正文

词法作用域

2019-11-08 01:04:09
字体:
来源:转载
供稿:网友

1、概念

变量的作用域 是由代码 书写的位置决定 而不是 变量被使用的位置决定;只有函数可以限定作用域。

2、作用域链

javaScript中使用变量,Javascript解释器首先在当前作 用域中搜索是否有该变量的定义,如果有,就是用这个变量;如果没有就到父域中寻找该变量. 以此类推,直到最顶级作用域,仍然没有找到就抛出异常”变量未定义”. 注意:如果要找的变量在链的函数参数中也会停止查找,表明已经找到

var num = 10;(function fn(){ var fn2 = function(){ console.log(num) //10 } fn2()})(); var num = 10; (function fn(){ var fn2 = function(n){ console.log(num) //10 } fn2() })();

但是

var num = 10; (function fn(){ var fn2 = function(num){ console.log(num) //undefined } fn2() })();
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表