<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>js的call和apply方法</title>
</head>
<body>
<script type="text/javascript">
// Call和 apply 面试必考。
// 作用:都是改变this指向
// 区别:后边传的形参不同
// 任何一个东西和方法都可以.call()
//apply 和call 用法差不多,call是传一个形参,apply是传一个数组
//例子1(改变this指向)
function Person(name,age){
this.name=name;
this.age=age;
}
var person = new Person('deng','100');
var obj ={
}
Person.call(obj,'cheng','200');//使用call()方法,要比原函数多一个参数,像这个例子中,obj直接就代替this(就是第一个参数代替this)
//这样我们就可以借助Person,来构造自己了。
//例子2(利用改变this方向,来减少代码的冗余)
function Person(){
this.age=age;
this.name=name;
this.sex=sex;
}
function Student (){
// this.age=age;
// this.name=name;
// this.sex=sex;
//我们可以利用call()方法把上边三行代码该成下边的代码,这样就可以减少代码的冗余了
Person.call(this,age,name,sex);
this.grade=grade;
this.let=let;
}
var student = new Student('18','yang','男','99','2020');
</script>
</body>
</html>
js中call和apply方法
最新推荐文章于 2022-03-23 15:13:27 发布