在JavaScript中,样式的属性名称为什么不和css保持一致?

css属性一般是font-weight, backgroud-color,而到JavaScript中这些属性名称去变成了fontWeight和backgroudColor。保持一样的属性名不是更好么?

阅读 4k
3 个回答

-号在js里被识别为操作符,除非是在字符串里包含它,变量命名里肯定不能包含操作符的,所以采取驼峰式命名。

每种语言,或者说每种格式都有比较适合自己的命名规范,你说这个问题有非常浅显但是致命的原因:font-weight 这种减号分隔的名称不是 Javascript 允许的标识符。

对于后者,在 JS 中可以这样取

var fontWeight = style.fontWeight;

而对于前者,就麻烦了

// 不能是 var font-weight = ...
var fontWeight = style["font-weight"];

另外,HTML 和 CSS 不区分大小写,所以 fontWeightFONTWEIGHT 是一样的,如果遇到不在意大小写的程序员写出来的东西,不利于阅读。然而 font-weight 就清晰多了,就算是 FONT-WEIGHT 大家也是看得懂的。

因为js变量名不能包含 -

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题