深入理解Javascript中的this关键字
自从接触javascript以来,对this参数的理解一直是模棱两可。虽有过深入去理解,但却也总感觉是那种浮于表面,没有完全理清头绪。
但对于this参数,确实会让人产生很多误解。那么this参数到底是何方神圣?
理解this
this是一个与执行上下文(executioncontext,也就是作用域)相关的特殊对象。因此,它可以叫作上下文对象(也就是用来指明执行上下文是在哪个上下文中被触发的对象)。
任何对象都可以做为上下文中的this的值。在一些对ECMAScript执行上下文和部分this的描述中的所产生误解。this经常被错误的描述成是变量对象的一个属性。再重复一次:
this是执行上下文的一个属性,而不是变量对象的一个属性。这个特性非常重要,因为与变量相反,this从不会参与到标识符解析过程。换句话说,在代码中当访问this的时候,它的值是直接从执行上下文中获取的,并不需要任何作用域链查找。this的值只在进入上下文的时候进行一次确定。
废话不多,先看一个板栗:
vartest=function(){};
test.prototype={ foo:"apple", fun:function(){ this.foo="banana"; } };
varmyTest=newtest(); myTest.fun();
console.log(myTest.hasOwnProperty("foo")); //输出什么 console.log(myTest.hasOwnProperty("fun")); //输出什么
热门推荐
8 聚餐会祝福语简短
10 亲戚生日红包祝福语简短
11 老师送的祝福语简短
12 大学报道祝福语简短
13 分手祝福语简短短句
14 老师祝福语简短100字
15 嫂子生日的祝福语简短
16 怀念青春祝福语简短
17 生日聚会祝福语简短的
18 工厂祝福语简短的句子