网站销售方案,wordpress 账号 登陆,h5交互设计,南充建设工程信息网加油 #xff01;#xff01; #x1f495; 文章目录 前言一、arguments二、arguments转成array三、箭头函数不绑定arguments四、剩余参数 ... 前言 其实在es6之后不推荐使用 arguments , 建议使用剩余参数 一、arguments
arguments 是一个 对应于 传递给函数的参数 的 类数… 加油 文章目录 前言一、arguments二、arguments转成array三、箭头函数不绑定arguments四、剩余参数 ... 前言 其实在es6之后不推荐使用 arguments , 建议使用剩余参数 一、arguments
arguments 是一个 对应于 传递给函数的参数 的 类数组(array-like)对象 。 function foo(x, y, z) {console.log(arguments);// [arguments] {0:10, 1:20, 2:30}}foo(10, 20, 30);array-like意味着它不是一个数组类型而是一个对象类型但是它却拥有数组的一些特性比如说length比如可以通过index索引来访问但是它却没有数组的一些方法比如forEach、map等
二、arguments转成array
function foo(x, y, z) {console.log(arguments);// 方式一 es6var arr Array.from(arguments);var arr2 [...arguments];// 方式二 es5var arr3 Array.prototype.slice.call(arguments);var arr4 [].slice.call(arguments);// 方式三自定义var length arguments.length;var arr5 [];for (var i 0; i length; i) {arr5.push(arguments[i]);}}foo(10, 20, 30);
三、箭头函数不绑定arguments
箭头函数是不绑定 arguments 的所以我们在箭头函数中使用arguments会去上层作用域查找在 浏览器里 是没有 arguments 的但是在node里是有的因为在node里一个js文件会被当成一个模块这个模块会被包裹在一个函数里面函数通过 .call 的方式call({},kdfkdfj,dfjalfj )除第一个参数都当作剩余参数 四、剩余参数 …
上个点里我们说箭头函数不能绑定 aeguments 我们可以使用 剩余函数
var foo (num1,...args){console.log(arguments) // 不存在console.log(args)}