JavaScript call函数的用法

fuckUveryMuch.call(fuckObj, args...)

表示调用这个fuckUveryMuch,fuckObj替代fuckUveryMuch这个函数中所出现的this

In addition to accepting an object as a parameter to replace the called function’s this, it also accepts an arbitrary number of arguments that will be passed into the called function.

<html>
<head>
<script>
function zou() {
	// A constructor function for a Dog
	var Dog = function(name) {
		this.name = name;
	};

	Dog.prototype.bark = function bark() {
		alert(this.name + " barks!");
	};

	// Fred is a Dog.
	// Fred can bark, because all Dogs can bark.
	var fredDog = new Dog("Fred");
	fredDog.bark(); // => "Fred barks!"

	// A constructor function for a Cat
	var Cat = function(name) {
		this.name = name;
	};

	// Bill is a Cat
	var billCat = new Cat("Bill");

	// Normally, Cats cannot bark,
	// but Bill is an exception and has learned how to bark like Fred
	fredDog.bark.call(billCat); // => "Bill barks!"
}

</script>
<title>test</title>
<body>
   <a href="javascript:zou()">Let's go!</a>
   
</body>
</html>

When bark() is invoked with the call() function, billCat takes the place of this within the bark function of Dog, so this.name is a reference to billCat.name instead of fredDog.name.

原文:http://ericterpstra.com/2012/08/a-simple-example-of-the-javascript-call-function/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值