通俗易懂的call和apply方法

Frank

技术文章写的不够通俗易懂,和咸鱼有什么区别。

<script>

/* 先总结:
其实,可以统一理解为 xx.aaply(yy,参数*) 是将方法xx传给yy。
执行的永远是xx。
*/

//1:替代subs,执行add

function add(a,b){
    alert(a+b);
}
function subs(a,b){
    alert(a-b);
}
add.call(subs,5,3);    //这里弹出8    (add替代了subs)

//2:传递showName,执行showName

function animal(){
    this.name = "ani";
    this.showName = function(){
        alert(this.name);
    }
}
function cat(){
    this.name = "cat";
}

var an = new animal();
var c = new cat();

an.showName.call(c,"因为没有参数,随便参数");
an.showName.apply(c,[])
//本来c是没有showname()方法的。call和apply把方法传递给c,并且执行

来一个小的知识点练习:
任务

  1. 定义两个数组,每个数组中不少于两个元素。
  2. 使用apply方法,把第二个数组中的元素加入到第一个数组中。
  3. 弹出数组arr1,检验结果。

有纰漏或者想法,欢迎交流。

阅读 532

技术文章写的不够通俗易懂,和咸鱼有什么区别。

0 声望
0 粉丝
0 条评论

技术文章写的不够通俗易懂,和咸鱼有什么区别。

0 声望
0 粉丝
文章目录
宣传栏