面向对象里面call和apply的用法

37 阅读1分钟
<script>
  function sum() {
    console.log(this.math + this.chinese + this.english);
  }

  var xiaoming = {
    math: 88,
    chinese: 90,
    english: 95,
  };
  //   call的用法
  sum.call(xiaoming); /* 现在call和apply的用法没区别 */
  sum.apply(xiaoming); /*  */
  //   传递参数的时候
  /* 要使用call用法,跟之前一样直接传 */
  /* 要使用apply用法,传递的参数要是数组的形式,就是加个[] */
  //   比如求一个里面都是数字的数组的最大值
  var arr = [3, 6, 1, 9];
  console.log(Math.max.apply(null, arr));
</script>