该章节将从如下几个方面来谈论ths的使用环境。浏览器
1/this和构造器函数
2/this和对象this
3/this和函数spa
4/全局环境的thisprototype
5/this和DOM/事件code
7/me/self/that/_this 暂存this对象
8/ES5 中新增的bind和 thisblog
9/ES6箭头函数(arrow function)和 this事件
-- 1/ this和构造器function Tab(nav,content){ this.nav=nav; this.content=content;}Tab.prototype.getNav=function(){ return this.nav;}Tab.prototype.setNav=function(nav){ this.nav=nav;}--2/this 和 对象JS中的对象对象不用类也能够建立var Tab={ nav:'', content:'', getNav:function(){ return this.nav; }, setNav:function(n){ this.nav=n; }}--3/this和函数 在 非严格模式 下,且this的值不是由该调用设置的,因此this的值默认指向全局对象 function f1(){ return this; }f1()==window; // true;在浏览器中,全局对象是windowf1()==global;// true;在Node中在 严格模式 下,若是this没有被执行环境定义,那么将为undefined;function f2(){ "use strict";//严格模式 return this;}f2()==undefined;//true缘由:由于f2是被直接调用的,不是做为对象的属性或方法调用--4/全局环境的thisconsole.log(this==window); //truea=37;console.log(window.a);//37this.b="mon";console.log(window.b);//monconsole.log(b);//mon