1.对于代码中某个值来说,上下文是指这个值所在的局部(全局)作用域对象。
函数使用它们实参的值 来计算返回值,成为该函数调用表达式的值。除了实参之外,每次调用还会拥有另外一个值——本次调用的上下文——这就是this关键字的传值。
如果函数挂载在一个对象上,作为对象的一个属性,就称它为对象的方法。当通过这个对象来调用函数时,该对象就是此次调用上下文(context),也就是该函数的this的值 。用于初始化一个新创建的对象的函数称为构造函数。
写一段简单的代码理解这段话:
//定义一个对象
var context = { foo: "bar", func : function(){ console.log(this);//打印上下文 return this.foo; } };
//当通过这个对象来调用函数时,该对象就是此次调用上下文(context),也就是该函数的this的值 context.func();
控制台输出结果:
this代码了该函数的上下文(context),即对象context本身;
2.相对于进程而言,上下文就是进程执行时的环境,具体来说就是各个变量和数据,包括所有的寄存器变量、进程打开的文件、内存(堆栈)信息等,例如一个函数的实参等。
最新评论