js基础知识(this,构造函数,原型)
一.This
this是js的一个关键字,随着函数使用场合不同,this的值会发生变化。但是总有一个原则,那就是this指的是调用函数的那个对象。
1.在方法中,this 表示该方法所属的对象。
var person = { firstName: "John",
lastName : "Doe",
id : 5566,
fullName : function()
{
return this.firstName + " " + this.lastName;
} };
在这里this指person这个对象
2.在函数中this指的是调用函数的那个对象
例如
function a(){
var user = "追梦子";
console.log(this.user); //undefined
console.log(this); //Window}
a();
这个可以等价于window.a()
var x = 1;
function test() {
alert(this.x);
}
test();//1
这儿this等价于全局变量window。
情况1:如果一个函数中有this,但是它没有被上一级的对象所调用,那么this指向的就是window。
情况2:如果一个函数中有this,这个函数有被上一级的对象所调用,那么this指向的就是上一级的对象。
情况3:如果一个函数中有this,这个函数中