this关键字
本意:这个、这里的意思.在JavaScript中是指每一个方法或函数都会有一个this对象,this对象是方法(或函数)在执行时的那个环境,也可以说是这个函数在那个作用域下运行的一共有四种调用模式:方法调用模式(对象属性模式)、函数调用模式(就是普通的函数执行)、构造调用模式(应该叫实例上的方法模式更好)和apply调用模式。一、方法调用模式当它为一个对象上的方法的时候,this是当前这个对象function age() { alert(this); }var person = new Object();person.age = age;
这里的this指向的就是创建的这个person对象
二、函数调用模式当函数并非一个对象的属性时,那么它被当做一个函数来调用。此模式下this绑定到全局对象var a = 1;function fn() { console.log( this.a );}fn(); // 1
fn函数中的this指定的是全局对象,全局对象是window
三、构造函数调用模式在构造函数里的this是指向这个对象function Person( age ) { this.age = age;}var person = new Person(15);console.log(person.age); // 15
function age() { console.log(this.age);}function Person() { this.age = 18;}var person = new Person();age.apply(person); // 18
转载:http://blog.csdn.net/itpinpai/article/details/51004266