JavaScript中apply() call() 函数

本文详细解释了JavaScript中apply和call两个函数的区别与应用场景。通过一个具体的代码示例,展示了如何使用这两个方法来实现继承,并讨论了在不同参数形式下如何选择使用apply或call。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// 首先理解apply()函数 call() 函数
<script type="text/javascript">

	function Person(name,age)
	{
		this.name = name;
		this.age = age;
	}

	function Student(name,age,grade)
	{
		Person.apply(this,arguments);
		//Person.call(this,name,age);
	}

	var student = new Student("ilv",20,"大四");

	alert(student.name + student.age + student.grade);

	//ilv20大四
	//定义:应用某一对象的一个方法,用另一个对象替换当前对象。 
	//通俗讲就是用student来执行person类里的内容

	//什么情况下用apply ? 什么情况下用 call
	//在给对象参数的情况下,如果参数的形式是数组的时候,比如apply
	//示例里面传递了参数arguments,这个参数是数组类型,并且在调用
	//Person的时候参数的列表是对应一致的
	//(也就是Person和Student的参数列表前两位是一致的) 就可以采用 apply , 
	//如果我的Person的参数列表是这样的(age,name),
	//而Student的参数列表是(name,age,grade),这样就可以用call来实现了,
	//也就是直接指定参数列表对应值的位置(Person.call(this,age,name,grade));  

//http://blog.youkuaiyun.com/business122/article/details/8000676 (原文)

</script>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值