美文网首页
JS执行环境访问

JS执行环境访问

作者: EO_eaf6 | 来源:发表于2019-12-22 15:16 被阅读0次

1、javascript没有块级作用域,无块作用域限制,局部环境销毁

function changeColor(){
       for(var i=0;i<3;i++){
        var num=0;
         num=i
      }
      alert(num)//3
}
console.log(num)//undefined

(1)无块作用域限制:在这里alert(num)正常输出num的值,因为javascript没有块级作用域,alert()不会访问不到num(但在c,c++,Java中有块级作用域)
(2)局部环境销毁:num仍然作为一个变量被写入changeColor执行环境对象,因为changeColor执行环境在执行完后,环境销毁,num变量不存在

2、不使用var声明的变量被写进全局环境

function changeColor(){
       for(var i=0;i<3;i++){
         num=i;
      }
      alert(num)
}
console.log(num)

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

3、变量属于哪个域是定义时确定不是调用时确定,变量搜索顺序为从内到外

var color="red"
var fu=function(){
     console.log(color)
     var color="blue"
}
fu()
//结果:undefined
var color="red"
var fu=function(){
     console.log(color)
}
fu()
//结果:red

(1)变量属于哪个域是定义时确定不是调用时确定:定义函数时,fu对象域中有变量color,全局环境中有变量color,
(2)执行时console.log()从内到外搜索到color属于fu对象,但此时color只声明未被初始化,结果为undefined

4、全局对象:在任何地方可被访问,模块化编程避免使用
最外层定义变量
全局对象的属性
未定义直接赋值的变量

相关文章

  • JS执行环境访问

    1、javascript没有块级作用域,无块作用域限制,局部环境销毁 (1)无块作用域限制:在这里alert(nu...

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

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

  • # webpack学习笔记之十三 - cross-env 使用

    webpack 的执行环境是 node.js 在 node.js 执行环境中,在所有模块里都可以访问到一个全局进程...

  • 我的关于前端一些知识点的理解《二》(如一)

    js函数执行的一些问题 js中的执行环境定义了变量和函数有权访问的其他数据。 每个执行环境都有一个与之相关的变量对...

  • jS的执行环境以及作用域浏览器的回收机制

    执行环境(execution context)是JS一个非常重要的概念。 执行环境定义了变量或函数有权访问的其他数...

  • js关于作用域链以及闭包的理解

    js的作用域链是由当前执行环境下的变量对象以及上层的执行环境下的变量对象组成,它保证了当前执行环境对符合访问它的权...

  • 执行环境和作用域

    《JavaScript高级程序设计》读书笔记 执行环境是js中最为重要的一个概念。执行环境定义了变量或函数有权访问...

  • 2019-07-21

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

  • Node

    Node没有web容器,是js的执行环境.每次访问都有一个url每次访问都访问不同的文件。可以创建服务器。让他提供...

  • JS笔记:执行环境与作用域

    一、概念解析 1. 执行环境 是Js中最为重要的一个概念,执行环境定义了变量或者函数有权访问的其他数据,决定了它们...

网友评论

      本文标题:JS执行环境访问

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