美文网首页
作用域的理解

作用域的理解

作者: 向布谷鸟说早安 | 来源:发表于2018-11-17 16:46 被阅读11次

前几天面试遇到这个问题:

var  a = 2;
function b() {
    console.log(a);
    a = 4;
    var a = 3;
    console.log(a);
}

b();
console.log(a);

打印结果是undefined,2,3
其实我知道作用域会变量提升,把var放到最前面,可是面试的时候我又和自己较上劲了,我想不通为什么函数如果在下面声明的整个作用域都可以用,而变量却不可以。
于是写了4,2,3。懊悔,还是自己理解的不够深刻吧。

相关文章

  • javascript基础知识问答-作用域和闭包

    1.理解词法作用域和动态作用域2.理解JavaScript的作用域和作用域链3.理解JavaScript的执行上下...

  • 5分钟入门闭包

    理解闭包前先要理解两个概念:作用域和作用域链。一、作用域分为: 全局作用域 函数作用域 var a = 100 f...

  • JavaScript 函数闭包(colsure)

    理解闭包,你首先必须理解JS的变量作用域,JavaScript作用域和作用域链。 ES6之前,变量的作用域分为全局...

  • js闭包

    一.变量的作用域 要理解闭包,首先必须理解JavaScript特殊的变量作用域。 作用域无非就是两种:全局作用域和...

  • 作用域/作用域链 闭包及其使用

    一、作用域、作用域链 作用域(scope) 浅显的理解: 作用域就是变量的可用范围(scope) 为什么要有作用域...

  • JavaScript中的闭包

    理解闭包,首先必须理解变量作用域。前面提到,JavaScript 有两种作用域:全局作用域和函数作用域。函数内部可...

  • 2018-07-11

    深入理解闭包: 一、变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域。 变量的作用域无非...

  • Javascript-学习闭包

    一、变量的作用域要理解闭包,首先必须理解javascript特殊的变量作用域,变量作用域有两种:全局作用域和局部作...

  • 你不知道的JS-上卷

    作用域整体理解:JS作用域分为函数作用域,全局作用域,with和try catch形成的块级作用域。 JS引擎在编...

  • 作用域链的理解

    作用域链的理解 1可以把作用域链理解成是一个栈结构; 2每个作用域都有一个作用域对象用于保存在该作用域内创建的变量...

网友评论

      本文标题:作用域的理解

      本文链接:https://www.haomeiwen.com/subject/tkhifqtx.html