JS基础apply call

揭秘:为什么80%的码农难以成为架构师?
本文深入解析了为何在软件开发领域,大多数程序员未能晋升为架构师的原因,通过实例展示了函数劫持与对象复制的概念,并以JavaScript为例,通过创建学生类来解释apply函数的神奇作用。

Function.apply(obj,args): 函数的劫持与对象的复制 obj:这个对象将代替Function类里this对象 args:这个是数组,它将作为参数传给Function(args) Function.call(obj,[para1,[para2,[paraN,...]]]) 和apply类似,只是参数不同,一个是数组一个是参数列表。

<!-- lang: js -->
<script type="text/javascript">
/*定义一个人类*/
function Person(name,age)
{
	this.name=name;
	this.age=age;
}
/*定义一个学生类*/
functionStudent(name,age,grade)
{
	Person.apply(this,arguments);
	this.grade=grade;
}
//创建一个学生类
var student=new Student("qian",21,"一年级");
//测试
alert("name:"+student.name+"\n"+"age:"+student.age+"\n"+"grade:"+student.grade);
//大家可以看到测试结果name:qian  age:21  grade:一年级
//学生类里面我没有给name和age属性赋值啊,为什么又存在这两个属性的值呢,这个就是apply的神奇之处.

</script>

转载于:https://my.oschina.net/wrean/blog/123384

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值