数组中的变量:必需、良好做法或冗余

Variable in an array: required, a good practice, or redundant?

本文关键字:冗余 变量 必需 数组      更新时间:2023-09-26

将JavaScript变量放入数组中是个好主意吗?这是一个示例代码:

var foo = ['<p>Hello, world!</p>'];
var myBlob = new Blob(foo, {type: 'text/html'});

与。

var foo = '<p>Hello, world!</p>';
var myBlob = new Blob([foo], {type: 'text/html'});

您的两个示例所做的事情完全相同,只是foo最终会得到不同的值;它对blob没有任何区别。使用哪种并不重要,最佳实践也不重要。这取决于您以后要对foo做什么(例如,您希望它引用一个包含字符串的数组,还是引用一个字符串)。

请注意,您从未在JavaScript中将变量放入数组中。您将变量包含的值放在数组中,而不是变量中。

因此,在第一个示例中,创建一个包含字符串的数组,用foo引用该数组,然后将该引用的副本传递给Blob构造函数。

在第二个示例中,将字符串(有效地)放入foo中,然后使用该字符串创建一个数组,并将其传递给Blob构造函数。

就斑点而言,它最终会得到同样的结果。唯一的区别是你在foo之后有什么。

在JavaScript中,[]是一个数组,是一个逗号分隔的集合。

var i = 1;
Object.prototype.toString.call( i ); // [object Number]
Object.prototype.toString.call( [i] ); // [object Array]

在变量周围加上方括号意味着与它本身完全不同的东西。