什么是外链式(内链和外链是什么)

   百度SEO    

表示的就是 范围 , 即 作用范围 . 就是一个名字在什么地方可以被使用, 什么时候不能使用.

1.块级作用域

即块级别的作用范围

2.在 js 中采用词法作用域

所谓的 词法 ( 代码 ) 作用域 , 就是代码在编写过程中体现出来的作用范围. 代码一旦写好, 不用执行,作用范围就已经确定好了. 这个就是所谓 词法作用域 .

在 js 中词法作用域规则:

1、函数允许访问函数 的数据.

2、整个代码结构中只有函数可以 限定 作用域.

3、作用规则首先使用提升规则分析.

4、如果当前作用规则中 有名字 了, 就 不考虑外层的名字

可以发现只有函数可以制造作用域结构. 那么只要是代码, 至少有一个作用域, 即 全局作用域 .

凡是代码中有函数, 那么这个函数就构成另一个作用域. 如果函数中还有函数, 那么在这个作用域中就又可以诞生一个作用域. 那么将这样的所有的作用域列出来, 可以有一个结构: 函数内指向函数外的链式结构.

绘制作用域链的步骤:

1、看整个全局是一条链, 即顶级链, 记为 0 级链

2、看全局作用域中, 有什么成员声明, 就以方格的形式绘制到 0 级练上

3、再找函数, 只有函数可以限制作用域, 因此从函数中引入新链, 标记为 1 级链

4、然后在每一个 1 级链中再次往复刚才的行为

简单的三个函数:

每个函数只能访问 自身属性 外层 作用域的属性。外层是指自身所处“位置”一直到全局作用域的属性都可以访问。同名属性采用 就近原则

变量的访问规则

1、首先看变量在第几条链上, 在该链上看是否有变量的定义与赋值, 如果有直接使用

2、如果没有到上一级链上找( n - 1 级链 ), 如果有直接用, 停止继续查找.

3、如果还没有,再次往上查找... 直到全局链( 0 级 ), 还没有就是 xx is not defined.

4、注意, 切记 同级的链不可混合查找

 标签:

评论留言

我要留言

欢迎参与讨论,请在这里发表您的看法、交流您的观点。