日期:2014-05-16  浏览次数:20378 次

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的第一个入参所传的对象