javscript之执行环境和作用域
2017-06-27 11:17
197 查看
一、作用域
javascript作用域分为两种:全局作用域、函数作用域。作用域只是一个抽象的概念。作用域在函数创建时就已 经确 定了。
二、执行环境
javascript中的代码段分为三种:全局代码、函数体、eval()。
执行javascript代码之前,会先创建一个执行上下文环境,该上下文环境的主要工作:对执行前的代码段做一些准 备工作。调用函数时,会给执行环境中的变量赋值。
所以,每次函数调用都会产生不用的执行上下文环境
1 、全局代码段
对变量、函数表达式声明,默认赋值为undefined
对this变量赋值
对函数声明,直接赋值。
2.函数体
对变量、函数表达式声明,默认赋值为undefined
对this变量赋值
对函数声明,直接赋值。
对参数赋值
对arguments对象赋值
对自由变量的取值作用域,赋值
三、关系
作用域和执行环境是一一对应的关系,通过作用域对应的执行环境来确定变量的值。如果要查找一个作用域下某个变量的值,就需要找到这个作用域对应的执行上下文环境,再在其中寻找变量的值。
javascript作用域分为两种:全局作用域、函数作用域。作用域只是一个抽象的概念。作用域在函数创建时就已 经确 定了。
二、执行环境
javascript中的代码段分为三种:全局代码、函数体、eval()。
执行javascript代码之前,会先创建一个执行上下文环境,该上下文环境的主要工作:对执行前的代码段做一些准 备工作。调用函数时,会给执行环境中的变量赋值。
所以,每次函数调用都会产生不用的执行上下文环境
1 、全局代码段
对变量、函数表达式声明,默认赋值为undefined
对this变量赋值
对函数声明,直接赋值。
2.函数体
对变量、函数表达式声明,默认赋值为undefined
对this变量赋值
对函数声明,直接赋值。
对参数赋值
对arguments对象赋值
对自由变量的取值作用域,赋值
三、关系
作用域和执行环境是一一对应的关系,通过作用域对应的执行环境来确定变量的值。如果要查找一个作用域下某个变量的值,就需要找到这个作用域对应的执行上下文环境,再在其中寻找变量的值。
相关文章推荐
- js 函数的执行环境和作用域链的深入解析
- 解读ECMAScript[1]——执行环境、作用域及闭包
- JavaScript 中的执行环境、作用域(scope)以及变量提升(hoisting)
- JavaScript-执行环境及作用域
- 执行环境和作用域
- js函数的执行环境和作用域链的深入解析
- 第六章 javaScript执行环境和作用域
- Javascript手记-执行环境和作用域
- Javascript 函数及其执行环境和作用域
- 执行环境及作用域
- 执行环境,作用域
- JavaScript之执行环境及作用域
- javascript的执行环境及作用域
- 从头开始学JavaScript (九)——执行环境和作用域
- js 函数的执行环境和作用域链的深入解析
- Javascript学习---2、执行环境,作用域
- JavaScript执行环境 + 变量对象 + 作用域链 + 闭包
- 基本类型和引用类型&&执行环境与作用域
- javascrip高级程序设计的学习笔记【作用域和执行环境】
- JavaScript的执行环境和作用域