zoukankan      html  css  js  c++  java
  • Array.prototype.slice.call(arguments) 通俗法理解

    Array.prototype.slice.call(arguments,num) 能将具有length属性的对象转成数组。
     
    slice 从字面上的意思可以理解为截取数组的一部分。
    call 从字面上的意思可以理解为截取出来
    arguments 仅与数组类似,不是真正的数组对象,所以它并没有slice这个方法,让arguments转换成一个数组对象,让arguments具有slice()方法。
    注:要是直接写arguments.slice(num)会报错。
    那么 Array.prototype.slice.call(arguments,num); 即把调用方法的参数截取出来。 
    如:
    var a={length:2,0:'first',1:'second'};//类数组,有length属性,长度为2,第0个是first,第1个是second
    console.log(Array.prototype.slice.call(a,0));// ["first", "second"],调用数组的slice(0);
    
    var a={length:2,0:'first',1:'second'};
    console.log(Array.prototype.slice.call(a,1));//["second"],调用数组的slice(1);
    
    var a={0:'first',1:'second'};//去掉length属性,返回一个空数组
    console.log(Array.prototype.slice.call(a,0));//[]
    function test(){
      console.log(Array.prototype.slice.call(arguments,0));//["a", "b", "c"],slice(0)
      console.log(Array.prototype.slice.call(arguments,1));//["b", "c"],slice(1)
    }
    test("a","b","c");
     
  • 相关阅读:
    浅谈服务端渲染
    vuex数据持久化
    vuex中的命名空间
    如果在项目中使用阿里图标库
    vue中的插槽
    webpack相关以及搭建react环境
    数组的reduce方法
    再也不用等后端的接口就可以调试了Json-server
    react中如何使用swiper
    解决vue中组件库vant等ui组件库的移动端适配问题
  • 原文地址:https://www.cnblogs.com/renzm0318/p/8747446.html
Copyright © 2011-2022 走看看