作用域学习------执行上下文环境
来源:互联网 发布:淘宝网的网站版面特点 编辑:程序博客网 时间:2024/06/05 06:49
参考深入理解javascript原型和闭包(8)——简述【执行上下文】上
概念
执行上下文环境定义了变量或函数有权访问的其他数据,决定了它们各自的行为
JS代码在真正一句一句执行之前,浏览器已经做了一些准备工作。我们首先从这个例子入手。
例1
console.log(a);//undefined
console.log(a);//undefinedvar a = 100;
var a;console.log(a);//undefined;
三个例子的结果都是undefined。第一个为定义,结果是undefined很正常;第二个和第三个定义了,第三个给的结果也是undefined,而第二个还赋值了,却还是undefined,说明开始浏览器给这个变量的赋值为undefined。
注意,变量赋值实在语句真正执行时赋值。
例2
console.log(f1);//function f1(){}function f1(){ ........}console.log(f2);//undefinedvar f2 = function(){ .......}
f1是函数声明的形式,f2是函数表达式,所以f1在执行之前就已经赋值了,而f2为undefined.
例3
function fn(){ console.log(this);//Window}fn();
无论在什么时候,this总是有值的。
以上这些情况是在全局语句执行前,在函数体的语句执行前,还要准备arguments和函数的参数的赋值
例4:
function fn(x){ console.log(arguments);//10; console.log(x);//10;}fn(10);
对于自由变量,已经在函数定义时,就已经在函数体内确定了自由变量的作用域。
例5:
var a = 5;function fn(){ console.log(a);//5}fn();
所以,总结起来,在执行上下文环境就是代码执行前的这些数据的准备情况。看图:
0 0
- 作用域学习------执行上下文环境
- 作用域--------上下文环境
- js 执行环境(上下文)、作用域链
- js学习笔记:执行上下文与作用域
- JavaScript学习-执行环境和作用域
- JS---[[scope]]/执行上下文/作用域/this
- 执行上下文和作用域链
- js中的执行上下文和作用域
- 转:作用域与上下文环境
- JS - 作用域和上下文环境
- javascript执行上下文、作用域与闭包(第四篇)---作用域与执行上下文
- 执行环境 作用域
- 弄清楚作用域、执行上下文、变量对象、作用域链
- JavaScript 执行上下文环境
- js 执行上下文环境
- JavaScript作用域、上下文、执行期上下文、作用域链、闭包
- javascript执行上下文、作用域与闭包(第一篇)---执行上下文
- 作用域链(执行上下文) 原型链(对象)
- ios的c语言基础
- React Native学习笔记-3: unable to find module in its module map
- PowerPC750(604家族)cache相关HID0寄存器
- 随时退出程序
- ZSC 1142 走迷宫 (DFS + 路径打印)
- 作用域学习------执行上下文环境
- CodeForces 625 B. War of the Corporations(水~)
- 函数类型和函数指针类型
- 验证的启动
- Java实现随机验证码功能实例
- Git 分支 - 分支简介
- 推荐新唐工业级ARM9(NUC972DF62Y),集成64M DDR2,多至11个串口
- #import和#include的区别是什么,#import与@class的区别是什么?
- JMeter之Ramp-up Period(in seconds)说明(可同时并发)