美文网首页
块作用域与执行环境访问问题

块作用域与执行环境访问问题

作者: EO_eaf6 | 来源:发表于2019-11-07 11:21 被阅读0次

例子1:

```var color="blue"

function changeColor(){

       for(var i=0;i<3;i++){

        var num=0;

         num=i

      }

      alert(num)

}

console.log(num)```

在这里alert(num)正常输出num的值,因为javascript没有块级作用域,alert()不会访问不到num(但在c,c++,Java中有块级作用域),num仍然作为一个变量被写入changeColor执行环境对象,而console.log(num)打印出undefined,因为changeColor执行环境在执行完后,环境销毁,num变量不存在

例子1:

var color="blue";

function changeColor(){

       for(var i=0;i<3;i++){

         num=i;

      }

      alert(num)

}

console.log(num)//console打印出num值,使用var的变量被添加到最近的执行环境中,不使用var添加到全局环境中

相关文章

  • 块作用域与执行环境访问问题

    例子1: ```var color="blue" function changeColor(){ for(v...

  • JS学习之执行环境和作用域

    JS学习之执行环境和作用域 执行环境和作用域相关介绍 执行环境 执行环境定义了变量或函数有权访问的其他数据,决定了...

  • js的执行环境和作用域

    执行环境和作用域 1、执行环境(execution context) 执行环境定义了变量或函数有权访问的其他数据,...

  • JavaScript的一些基本概念

    执行环境与作用域 执行环境是什么?所谓的执行环境就是变量和函数所运行的环境, 定义了这些变量或函数访问权, 也决定...

  • 作用域链

    作用域链总结 当代码在一个环境中执行时,都会创建一个作用域链。 作用域链的用途是保证对执行环境有权访问的所有变量和...

  • JS-作用域链

    什么是作用域链? 当代码在一个环境中执行时,都会创建一个作用域链。 作用域链的用途是保证对执行环境有权访问的所有变...

  • JS学习笔记/6.3

    代码块与作用域 顶层作用域声明的变量哪里都可访问,虽然在JS中可以跨越块级作用域,但是这样访问变量容易引起混乱,产...

  • JS基础知识(2) -- 作用域和作用域链

    作用域 作用域就是变量与函数的可访问范围 全局作用域 函数作用域 ES6块级作用域 ES5没有块级作用域,ES6有...

  • 理解JavaScript 作用域、执行环境和作用域链

    理解JavaScript 作用域、执行环境和作用域链 执行环境: 1.包含一个代码无法访问的变量对象,只供浏览器访...

  • 2019-07-21

    JS作用域链 当代码在一个环境中执行时,会创建变量对象的一个作用域链来保证对执行环境有权访问的变量和函数的有序访问...

网友评论

      本文标题:块作用域与执行环境访问问题

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