javascript执行环境和作用域
来源:互联网 发布:任务多软件下载 编辑:程序博客网 时间:2024/06/05 14:28
1.执行上下文环境
javascript在执行代码之前,会先做一些准备工作。找到所有的变量,有的直接为其赋值,有的则先声明并默认赋值为undefined。
在全局作用域中执行代码时,要准备以下三件事;
a、对于变量、函数表达式。则对其进行变量声明,默认赋值为undefined。
b、对于this,直接赋值
c、对于函数声明,直接赋值
在函数体内执行代码时,还需要再做两件事:
d、为函数的形参和arguments对象直接赋值。
e、确定函数体内部自由变量的作用域。
2.执行上下文栈
执行全局作用域中的代码是,会产生执行上下文环境。当调用函数时,也会产生函数执行上下文环境。函数调用完成后,这个函数执行上下文环境以及其中的数据都会被销毁,然后回到全局上下文环境。所以,处于活动状态的执行环境只有一个。。
注意:理想情况下,函数执行环境会被完全销毁,但是也有不能完全销毁的。(由于闭包的存在)
3.作用域
两种:全局作用域和函数作用域。
自由变量:跨作用域取值的变量。
跨作用域取值:到创建该函数的作用域中查找。如果,没有则继续向上找。2.如果该作用域为全局作用域,则没 有找到该变量。
阅读全文
0 0
- JavaScript作用域和执行环境
- JavaScript作用域和执行环境
- JavaScript执行环境和作用域
- JavaScript学习-执行环境和作用域
- JavaScript执行环境和作用域链
- javascript执行环境和作用域
- JavaScript执行环境和作用域链
- JavaScript中的执行环境、变量对象和作用域链
- javascript中的执行环境和作用域链
- 重温javascript--执行环境和作用域链
- javascript中的执行环境和作用域详解
- javascript变量类型、执行环境和作用域、垃圾回收
- javascript的执行环境和作用域的理解
- JavaScript变量对象、执行环境和作用域链
- 浅谈javascript中的变量、执行环境和作用域
- 如何理解javascript执行环境和作用域链?
- javascript中作用域链和执行环境的理解
- JavaScript的执行环境和变量作用域
- 《算法分析与设计》Week 13
- MapReduce 计数器简介(转载自:http://www.tuicool.com/articles/qqyIBr)
- 指针
- 过滤器、监听器、拦截器的区别
- Sublime 配置
- javascript执行环境和作用域
- java 如何解析json字符串
- C笔记 字符串
- 【慕课网】NODE.JS基础(一)学习笔记
- 史上最简单的SpringCloud教程 | 第七篇: 高可用的分布式配置中心(Spring Cloud Config)
- 信号与系统在图像的应用
- 区块链基本概念
- Java I/O 知识点(二)
- 项目进度(十)