java中的上下文与javascript中的上下文分析_Context in java And javascript

context一词在计算机术语中被意为上下文,但我觉得要理解它还不如用其本来的意义:背景, 环境, (事情发生的)背景。因为就上下文这个词很难将事实准确的描述,下面是我对其在java和javascript中的一点分析。

在java中Context是一个接口,他表示一个命名环境,并由一组名字到对象的绑定组成,它包含方法检查并更新这些绑定。原文如下:
This interface represents a naming context, which consists of a set of name-to-object bindings. It contains methods for examining and updating these bindings.
原文链接:http://download.oracle.com/javase/1.4.2/docs/api/javax/naming/Context.html
或则说用其来构造一个应用运行的环境,有了环境,程序才能在环境中运作。

而servlet中的context则是另一个说法:

ServletContext接口定义了一个Servlet环境对象,这个对象定义了一个在Servlet引擎上的Servlet的视图(奇怪的说法?)。 通过使用这个对象,Servlet可以记录事件、得到资源并得到来自Servlet引擎的类(例如RequestDispatcher对象)。一个 Servlet只能运行在一个Servlet环境中,但是不同的Servlet可以在Servlet引擎上有不同的视图。 如果Servlet引擎支持虚拟主机,每个虚拟主机有一个Servlet环境。一个Servlet环境不能在虚拟主机之间共享。 Servlet引擎能够允许一个Servlet环境有它自己的活动范围。 例如,一个Servlet环境是属于bank应用的,它将被映射到/bank目录下。在这种情况下,一个对getContext方法的调用会返回 /bank的Servlet环境。

javascript 中的上下文,则说法更让我迷惑。

1.javascript这种脚本语言执行的时候都有一个全局上下文对象,而浏览器里面javascript的全局上下文就是window,所有没有指定目标的定义都会定义在window的属性上。
2.上下文对象指的就是this对象。它是一个只能读取而不能直接赋值的对象(就是你只能对this拥有的属性和方法赋值)。
由第一条分析,上下文则是环境,js得以运行的环境。而第二条则更像是一个属性?还是一个局部(div等)的环境?

ECMA文档里面有个Execution Contexts,我觉得它更确切的说是执行环境:
当控制转交到ECMAScript执行代码,控制进入到一个执行环境(上下文)。活动(生效)的执行环境逻辑上来自一个栈.顶端的执行环境在这个逻辑栈是 运行中的执行环境,一个新的执行环境被创建当控制从可执行代码中转移。其与临时运行的执行环境关联到的可执行代码将不和这个执行上下文关联.新的执行上下 文将被推入到栈并称为运行中的执行上下文。原文:
When control is transferred to ECMAScript executable code, control is entering an execution context. Active execution contexts logically form a stack. The top execution context on this logical stack is the running execution context. A new execution context is created whenever control is transferred from the executable code associated with the currently running execution context to executable code that is not associated with that execution context. The newly created execution context is pushed onto the stack and becomes the running execution context.

所以:java中的context更多指的是应用运行环境,而javascript中则表示脚本执行的一个环境?