美文网首页
函数中arguments的坑

函数中arguments的坑

作者: newway_001 | 来源:发表于2019-05-31 16:23 被阅读0次

arguments对象不是一个 Array 。它类似于Array,但除了length属性和索引元素之外没有任何Array属性。例如,它没有 pop,shfit等方法。但是它可以被转换为一个真正的Array

转换成数组的办法:

1:
var args = Array.prototype.slice.call(arguments);

2:
var args = [].slice.call(arguments);

// ES2015
3:

const args = Array.from(arguments);
4:
const args = [...arguments];

讲一个关于函数好玩的例子:

> function myConcat(separator) {
... return separator
... }
undefined
> myConcat("; ", "elephant", "giraffe", "lion", "cheetah");
'; '
//对,你没有看错,她只返回第一个。。。。。
//也就是如果你使用函数的形参,而不是使用arguments的话。。
//它会默认返给你类数组对象的第一个值;

function myConcat(separator) {
  var args = Array.prototype.slice.call(arguments, 2);
//这里slice()函数只传入一个参数2,意味着,slice(2,end)
//args为['lion,'cheetah']转为数组格式
  return args.join(separator);
//args.join(separator);相当于args.join(',');
//return 的结果为字符串类型:'lion,cheetah'

}

myConcat(", ", "red", "orange", "blue");




相关文章

  • 函数中arguments的坑

    arguments对象不是一个 Array 。它类似于Array,但除了length属性和索引元素之外没有任何Ar...

  • 10/12 js小总结

    1.arguments[] 在函数体中arguments指代该函数的Arguments对象,在全局中为undefi...

  • Arguments

    arguments 函数参数数组,他只定义在函数体中,函数体中arguments指代该函数的Argument对象。...

  • JavaScript基础 - js对象和绑定对象事件

    arguments是函数中的隐含对象通过arguments[0]、arguments[1]可以获得函数的参数arg...

  • arguments

    描述 arguments对象是所有函数中可用的局部变量。你可以使用arguments对象在函数中引用函数的参数。此...

  • 理解参数—arguments

    一.arguments对象是所有(非箭头)函数中都可用的局部变量。你可以使用arguments对象在函数中引用函数...

  • arguments.callee用法  

    arguments.callee用法 arguments.callee 在哪一个函数中运行,它就代表哪个函数。 一...

  • js的arguments

    1. arguments: 函数中默认带有一个arguments的对象,这是一个类数组对象。 arguments记...

  • 九、箭头函数 ------ 2020-04-06

    1、箭头函数的创建: 2、箭头函数中没有arguments 3、箭头函数中没有自己的this

  • 前端冷知识

    匿名函数调用自身 例: 注意:箭头函数中没有arguments(规定)。

网友评论

      本文标题:函数中arguments的坑

      本文链接:https://www.haomeiwen.com/subject/bdzwtctx.html