zoukankan      html  css  js  c++  java
  • JS复习之Call和Apply

      文章见于知乎:https://www.zhihu.com/question/20289071

      如果知道call和apply的创造原因,应该就能很方便的理解它们了。

      如果正常来说,创造这样一个构造函数与实例的话,是能直接使用的

           function cat(){
                    
                }
                cat.prototype={
                    food:'fish',
                    say:function(){
                        alert('I Love You:'+this.food);
                    }
                }
                var blackCat=new cat;
                blackCat.say();

      但如果让另一个实例使用say方法,那么就得让它拥有,但明显重写是不太智能的,所以就出现了call和apply

      

           var wilteDog={
                    food:'bone'
                }
                blackCat.say.call(wilteDog);

      这样就可以让只有food属性的wilteDog对象使用wilte的say方法

      相关实例:

      

           function arr(){
                     var arg = arguments;
                     console.log([].join.call(arg,'B'));
                }
                arr('1','3')

      

  • 相关阅读:
    Go反射
    Go_CSP并发模型
    Go_select
    Go计时器
    day9:vcp考试
    day8:vcp考试
    day7:vcp考试
    day6:vcp考试
    day5:vcp考试
    day4:vcp考试
  • 原文地址:https://www.cnblogs.com/myzsy/p/7806253.html
Copyright © 2011-2022 走看看