最近看Vue关于渲染函数一节发现这样一段代码:
1 | render: function (createElement) { |
Array的apply方法来自Function.prototype.apply方法,第一个this参数这里没用,设置为null。而第二个参数接受一个类数组对象或者数组,将其作为arguments传入Array函数。相当于Array.apply(null, Array(20))
。
直接调用Array(20)
会产生一个具有20个空索引的数组。map方法只能迭代实际的值,而不能迭代空索引。而上面的方法实际上可以产生一个长度为20,值全为undefined的数组,可以有效使用map方法。