温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Array.apply()、new Array()和arr =[]有什么区别

发布时间:2022-02-28 17:06:05 来源:亿速云 阅读:169 作者:iii 栏目:开发技术

本文小编为大家详细介绍“Array.apply()、new Array()和arr =[]有什么区别”,内容详细,步骤清晰,细节处理妥当,希望这篇“Array.apply()、new Array()和arr =[]有什么区别”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

Array.apply()

apply()在MDN中解释是这样的:

func.apply(thisArg, [argsArray])

thisArg 必选的。在 func 函数运行时使用的 this 值。请注意,this可能不是该方法看到的实际值:如果这个函数处于非严格模式下,则指定为 null 或 undefined 时会自动替换为指向全局对象,原始值会被包装。

argsArray 可选的。一个数组或者类数组对象,其中的数组元素将作为单独的参数传给 func 函数。如果该参数的值为 null 或  undefined,则表示不需要传入任何参数。从ECMAScript 5 开始可以使用类数组对象

function printArguments() {
    console.log(arguments)
    Array.prototype.forEach.call(arguments, function (item) {
        console.log(item);
    });
}
printArguments(undefined,undefined)

由此可见{length:20}是个类数组argument只提供了length的属性相当于创建了一个长度为20,每个元素为undefined的数组

(20) [undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined]

new Array()

new Array(20)Array(20)只是创建了一个长度为20,元素是空的数组

(20) [empty × 20]

arr = []

let arr=[];
arr.length= 20
(20) [empty × 20]

由此可见new Array(20)let arr=[];arr.length= 20等价

Array.from()

Array.from() 方法从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。

Array.from({length:20})
(20) [undefined, undefined, undefined, undefined, undefined, undefined, undefi

读到这里,这篇“Array.apply()、new Array()和arr =[]有什么区别”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

arr
AI