首页 > 代码库 > 画作用域链的原则
画作用域链的原则
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <script type="text/javascript"> // 绘制以下代码的作用域链: var num = 123; var f = function() {}; var arr = []; // 绘制作用域的规则: // 1 绘制作用域链的时候,只绘制在当前作用域中声明的变量或者函数 // 2 把全局作用域看作是0级别链,只绘制在全局中声明的函数和变量 // 3 如果是在全局作用域中存在一个函数,此时,在这个函数上 // 引出一条新的链,此时把这条链叫做: 1级别链 // 4 如果,在函数内部 又声明链一个函数,然后,这个函数由引出一条新的 // 链出来,把这条链称作:2级别链 // 5 以此类推,只到n级别的链 // 变量搜索原则: // 从高级别的链 到 低级别的链,来查找 // 1 首先是在当前链(n)中查找有没有声明的这个变量,如果由直接使用 // 2 没有,就去 n-1 级别的链中查找有没有,如果由直接使用 // 3 以此类推,知道 0 级别的链,如果有直接使用,如果没有 // 如果是赋值,此时会创建全局变量 // 如果是读取,此时会报错!! // console.log(asdfa); </script></body></html>
画作用域链的原则
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。