【问题标题】:Why use variables for html attributes?为什么要为 html 属性使用变量?
【发布时间】:2016-07-21 10:32:47
【问题描述】:

网站https://ipenburg.home.xs4all.nl/atkinsome/提供以下代码片段:

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

为什么不每次都写'img',或者'.class'?

【问题讨论】:

  • 看起来这可能是某种错误的优化尝试。

标签: javascript string object


【解决方案1】:

您的问题中引用的代码看起来像是由不是特别精通 JavaScript 的人编写的,因为它不必要地创建了 String 对象。如果它存在,它应该只是:

var IMG = 'img';
var DOT = '.';
var CLASS = 'class';

或在 ES2015+ 中

const IMG = 'img';
const DOT = '.';
const CLASS = 'class';

至于“为什么要这样做”,我能想到的最好的理由是,它允许您找到所有使用 IMG 的地方,用于 img 标签的目的,而无需找到你用'img' 做其他事情的地方。

不是是面向未来的(或者至少有人希望它不是注定的)。如果您后来将 IMG 更改为 'image' 而不更改其名称,那将积极误导后续从事代码工作的作者。

【讨论】:

  • 观点:对幻数使用常量是合理且有用的,但总的来说,对文字使用常量并没有多大意义。
  • 明确回答,谢谢。让我更清楚复制猫的陷阱
猜你喜欢
  • 2021-10-19
  • 2013-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-07
  • 2013-07-15
  • 1970-01-01
  • 2011-11-14
相关资源
最近更新 更多