- 以函数的 形式调用:
function fun(){
alert(this == window);
}
fun(); //调用成功,this代表window
- 以方法的形式调用
var obj = { name = "hello", myfun = function(){ console.log(this); } } obj.myfun(); //this 指向obj
- 以构造函数的形式调用时:
function Person(name,age,gender){
console.log(this.name);
}
var per1 = new Person("钢铁侠",20,"男"); //会打印出钢铁侠
var per2 = new Person("蜘蛛侠",18,"男"); //会打印出钢铁侠
- 以call 和 apply 方式调用时:
-
var obj = { name : "钢铁侠", } var obj2 = { name : "钢铁侠", } function fun(){ console.log(this.name); } fun.call(obj);//会打印出钢铁侠 this是指定的那个对象 fun.apply(obj2); //会打印出蜘蛛侠