We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
类数组对象从读写、获取长度、遍历三个方面看,和数组貌似是一样的,但是无法直接使用数组的方法,需要借助 call 或 apply:
var likeArr = { 0: "a", 1: "b", 2: "c", length: 3 }; Array.prototype.slice.call(likeArr, 0); // ["a", "b", "c"] Array.prototype.join.call(likeArr, "&"); // "a&b&c" Array.prototype.map.call(likeArr, item => item.toUpperCase()); // ["A", "B", "C"]
// slice Array.prototype.slice.call(likeArr); // ES6 Array.from(likeArr); // apply Array.prototype.concat.apply([], likeArr); // splice,会改变 linkeArr Array.prototype.splice.call(likeArr, 0);
Arguments 对象只定义在函数体中,包括了函数的参数和其他属性。在函数体中,arguments 指代该函数的 Arguments 对象。
Arguments
Arguments 对象的 length 属性,表示实参的长度。
Arguments 对象的 callee 属性,通过它可以调用函数自身。
将参数从一个函数传递到另一个函数:
// 使用 apply 将 foo 的参数传递给 bar function foo() { bar.apply(this, arguments); } function bar(a, b, c) { console.log(a, b, c); } foo(1, 2, 3);
使用 ES6 的...运算符,我们可以轻松转成数组。
...
function func(...arguments) { console.log(arguments); // [1, 2, 3] } func(1, 2, 3);
arguments 的应用其实很多,如果要总结这些场景的话,暂时能想到的包括:
原文链接:JavaScript 深入之类数组对象与 arguments
The text was updated successfully, but these errors were encountered:
No branches or pull requests
类数组对象与 arguments
类数组对象从读写、获取长度、遍历三个方面看,和数组貌似是一样的,但是无法直接使用数组的方法,需要借助 call 或 apply:
类数组转数组
Arguments
Arguments
对象只定义在函数体中,包括了函数的参数和其他属性。在函数体中,arguments 指代该函数的 Arguments 对象。Arguments 对象的 length 属性,表示实参的长度。
Arguments 对象的 callee 属性,通过它可以调用函数自身。
将参数从一个函数传递到另一个函数:
使用 ES6 的
...
运算符,我们可以轻松转成数组。arguments 的应用其实很多,如果要总结这些场景的话,暂时能想到的包括:
原文链接:JavaScript 深入之类数组对象与 arguments
The text was updated successfully, but these errors were encountered: