Javascript 为什么对html属性使用变量?

Javascript 为什么对html属性使用变量?,javascript,string,object,Javascript,String,Object,该站点提供以下代码片段: var IMG = new String('img'); var DOT = new String('.'); var CLASS = new STRING('class'); DOT.concat(CLASS_FILTER) 为什么不每次简单地写“img”或“.class”?你问题中引用的代码看起来是由不太精通JavaScript的人编写的,因为它不必要地创建字符串对象。如果它确实存在,它应该是: var IMG = 'img'; v

该站点提供以下代码片段:

    var IMG = new String('img');
    var DOT = new String('.');
    var CLASS = new STRING('class');
    DOT.concat(CLASS_FILTER)

为什么不每次简单地写“img”或“.class”?

你问题中引用的代码看起来是由不太精通JavaScript的人编写的,因为它不必要地创建
字符串
对象。如果它确实存在,它应该是:

var IMG = 'img';
var DOT = '.';
var CLASS = 'class';
或者在ES2015中+

const IMG = 'img';
const DOT = '.';
const CLASS = 'class';
至于“为什么要这样做”,我能想到的最好的理由是,它允许你找到你为
IMG
标记而使用的
IMG
的所有位置,而不必找到你完全用于其他目的的
'IMG'


它不是未来的证明(或者至少有人希望它不是命中注定的)。如果您后来将
IMG
更改为
'image'
,而不更改其名称,这将严重误导从事该代码工作的后续作者。

您问题中引用的代码看起来像是由不太精通JavaScript的人编写的,因为它不必要地创建
字符串
对象。如果它确实存在,它应该是:

var IMG = 'img';
var DOT = '.';
var CLASS = 'class';
或者在ES2015中+

const IMG = 'img';
const DOT = '.';
const CLASS = 'class';
至于“为什么要这样做”,我能想到的最好的理由是,它允许你找到你为
IMG
标记而使用的
IMG
的所有位置,而不必找到你完全用于其他目的的
'IMG'


它不是未来的证明(或者至少有人希望它不是命中注定的)。如果您后来将
IMG
更改为
'image'
,而不更改其名称,这将严重误导从事代码工作的后续作者。

看起来这可能是某种误导性的优化尝试。看起来可能是某种误导性的优化尝试。观点:使用常数作为幻数是合理和有用的,但一般来说,对文字使用常量没有多大意义。回答清楚,谢谢。让我更加了解复制陷阱提示:对幻数使用常量是合理和有用的,但一般来说,对文字使用常量没有多大意义。回答清楚,谢谢。让我更加意识到抄袭陷阱