有一段代码不能理解
for (var i = 2; i <= 6; i += 2) { temp = Array(i + 1).join(i); console.log(temp); }
结果输出的是22,4444,666666.这是为什么啊?
闭关修行中......
Array(i + 1) 表示长度为i+1的数组,但是均为空,join方法的参数代表分隔符,这里代表以2,4,6,为分隔符,所以为空2空2空,空4空4空4空4空
Array(i + 1)
i+1
join
2
4
6
空2空2空
空4空4空4空4空
创建数据的三种方法。 new Array(); new Array(size); new Array(element0, element1, ..., elementn); 当传入一个参数时,是第二种构建方法。 以i=2来说。 temp = Array(2+1).join(2); 创建长度为为3的数据, join(2),2为分隔符。 所以输出 22;
你可以这么理解:
[undefined, undefined, undefined].join(2); "22" [undefined, undefined, undefined, undefined, undefined].join(4); "4444" [undefined, undefined, undefined, undefined, undefined, undefined, undefined].join(6); "666666"
Array(i + 1)
表示长度为i+1
的数组,但是均为空,join
方法的参数代表分隔符,这里代表以2
,4
,6
,为分隔符,所以为空2空2空
,空4空4空4空4空
创建数据的三种方法。
new Array();
new Array(size);
new Array(element0, element1, ..., elementn);
当传入一个参数时,是第二种构建方法。
以i=2来说。
temp = Array(2+1).join(2);
创建长度为为3的数据,
join(2),2为分隔符。 所以输出 22;
你可以这么理解: