JavaScript中函数对象调用形式总结
JavaScript中函数对象调用模式总结
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的第一个入参所传的对象