问答详情
源自:2-8 仿栈与队列的操作

这句代码什么意思

return num != null ?(num < 0 ? this[num + this.length] : this[num]) : slice.call(this);


尤其是那句 slice.call

提问者:9号攻城狮 2016-07-21 16:48

个回答

  • 慕雪5194257
    2016-08-12 10:48:37

    slice是数组的一个函数,this指向原数组。上面的写法等价于:this.slice(),this就是一个array。意思是当num == null的时候,返回整个数组的拷贝。

  • k01234567
    2016-07-21 23:53:04

    如果num不为NULL,且如果num的值超出范围,比如小于元素数量的负数或等于或大于元素的数量的数,那么它将返回undefined,不超过范围则返回单个元素;否则如果Nnum为NULL,则返回一个数组,包含对象或者数组的所有属性