当前位置:   article > 正文

有关 Array.prototype.slice.call() 和 Array.prototype.slice.apply() 方法的详解_array.prototype.splice.apply

array.prototype.splice.apply

对 Array.prototype.slice.call() 和 Array.prototype.slice.apply() 的简要理解

1. 逐步拆分解析

  • slice:可从已有的数组中返回选定的元素,不改变原数组。
    注:有关 splice 方法的详解可参考 有关 Array.prototype.slice() 方法的详解
  • Array:Arrayjavascript 的一个引用类型,Array.prototype 属性表示 Array 构造函数的原型,其上有一个方法叫 slice()
    注:因此, Array.prototype.slice.call(arguments, 1) 也可以写成 [].slice.call(arguments, 1)
  • call 和 apply : 可以简单理解为用来改变对象中函数内部的 this 引用指向apply()call() 方法的第一个参数都是特定的作用域,用来替换对象函数中的 this;第二个参数都是要传递给对象函数的参数,不同之处是 apply() 的第二个参数可以是数组实例或 arguments 类数组对象,call() 则需要逐个列出需要传递的参数。

2. 原理(此处以 call 为例说明)

call 的官方解释:“调用一个对象的一个方法【对象.方法.call()】,以另一个对象替换当前对象。”

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/901724
推荐阅读
相关标签
  

闽ICP备14008679号