最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

JS执行环境实例简介

来源:动视网 责编:小采 时间:2020-11-27 20:01:51
文档

JS执行环境实例简介

JS执行环境实例简介:执行环境,听到这个名词,可能变得很头大!并且不少文献中又叫做执行上下文,不过实际上是一个东西。书籍和资料中也往往讲得特别复杂,这可是JS中一个难以理解得地方啊,别急,本篇文章尝试用通俗浅显的语言阐述这个概念。一、例子解说执行环境先看一
推荐度:
导读JS执行环境实例简介:执行环境,听到这个名词,可能变得很头大!并且不少文献中又叫做执行上下文,不过实际上是一个东西。书籍和资料中也往往讲得特别复杂,这可是JS中一个难以理解得地方啊,别急,本篇文章尝试用通俗浅显的语言阐述这个概念。一、例子解说执行环境先看一


“执行环境”,听到这个名词,可能变得很头大!并且不少文献中又叫做“执行上下文”,不过实际上是一个东西。书籍和资料中也往往讲得特别复杂,这可是JS中一个难以理解得地方啊,别急,本篇文章尝试用通俗浅显的语言阐述这个概念。

一、例子解说执行环境

先看一个例子:
我们在浏览器控制台输入:

var a=1;console.log(window.a);console.log(a);

结果是输出1,显然a变量是window对象的一个属性。
那么我问你:a变量的执行环境是什么呢?
相信你不难回答:就是window对象啊!的确,你说得很对,window对象就是a变量的执行环境,它叫做全局执行环境,因为它是最外围的一个执行环境。这里,a默认就是在全局执行环境中定义的,因此a和window.a是同一个。
我们再看下一个例子:

function output(){
 var a=1;
 console.log(a);
}

这个例子中,a是定义在函数内部的,那么a的执行环境便是函数执行环境(output)。
如果你在window中输入:

console.log(a);

是会报错的,因为a只在函数output中可见。
但你输入:

console.log(output);

却会正常显示函数,因为函数output的执行环境是window,在window中当然可以显示呀!

二、执行环境怎么工作?

我们知道,output函数是在window环境中。当程序运行output函数的时候,你应该已经猜到了:
window环境将控制权交给output函数环境,output环境就成为了主场。
那么,实际上背后搞了些啥呢?
JS中有个东西叫做执行环境栈,或者叫做执行上下文栈,不知道栈是啥该补一下数据结构了。
就像堆箱子一样,全局执行环境被放在执行环境栈的最下面。当运行到output函数,这个函数的执行环境也被打包成一个箱子‘堆’在全局执行环境的上面。如果我要继续运行全局环境中的其他函数,就像要拿最下面箱子的东西一样,必须先把output函数执行完。形象地说,就像把上面的箱子拿开,然后才能动下面的箱子。

文档

JS执行环境实例简介

JS执行环境实例简介:执行环境,听到这个名词,可能变得很头大!并且不少文献中又叫做执行上下文,不过实际上是一个东西。书籍和资料中也往往讲得特别复杂,这可是JS中一个难以理解得地方啊,别急,本篇文章尝试用通俗浅显的语言阐述这个概念。一、例子解说执行环境先看一
推荐度:
标签: 介绍 js 例子
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top