【前端工程师手册】JavaScript之作用域
【前端工程师手册】JavaScript之作用域 什么是作用域 来一段《你不知道的JavaScript-上卷》中的原话: 几乎所有编程语言最基本的功能之一,就是能够储存变量当中的值,并且能在之后对这个 值进行访问或修改,这些变量住在哪里?换句话说,它们储存在哪里?最重要的是,程序需要时如何找到它们?这些问题说明需要一套设计良好的规则来存储变量,并且之后可以方便地找到这些变量。这套规则被称为作用域 总之就是作用域就是一套规则,这个规则规定了程序如何去找到变量 词法作用域 先看一个例子: function func1() { console.log(index) } function func2() { var index = 10 func1() } var index = 100 func2() // 100 为啥是100而不是10呢??? 因为JavaScript是词法作用域 词法作用域简单地说就是:函数的作用域在声明的时候就决定好了。和词法作用域相对的是动态作用域,动态作用域关注函数从何处调用 上面的代码中,声明func1时,它就处于全局作用域中,所以index就是100,即使执行f...
