日期:2014-05-16 浏览次数:20467 次
JS有四种方法调用模式,每种模式方法内部的this指向是不同的
1.对象方法调用模式
var obj = {
'name':'zx',
'show':function ()
{
alert(this.name);
}
}
obj.show();
?? 这上面这个模式中this是指向obj字面对象的,所以可以访问name
2.普通方法调用模式
var name = 'hello';
function show()
{
alert(this.name);
}
show();
?? 上面的这个模式中的this是指向global对象或window对象的
3.构造方法调用模式
function show(name)
{
this.name = name;
alert(this.name);
}
var s = new show('dd');
?? 上面的这个模式中的this是指向当前对象s的
4.apply调用模式
function show(name)
{
this.name = name;
alert(this.name);
}
show.apply(window, ['zx']);
? 上面的这个模式中的this是指向apply的第一个入参所传的对象