JavaScript:如果对象的名称全部写成大写,这意味着什么?

时间:2013-12-01 14:04:45

标签: javascript jquery twitter-bootstrap plugins

在学习如何编写优秀的JavaScript插件时,我正在研究Twitter Bootstrap(使用jQuery)中的JavaScript文件。

collapse plugin在开头有这段代码:

var Collapse = function (element, options) {
    this.$element      = $(element)
    this.options       = $.extend({}, Collapse.DEFAULTS, options)
    this.transitioning = null

    if (this.options.parent) this.$parent = $(this.options.parent)
    if (this.options.toggle) this.toggle()
  }

  Collapse.DEFAULTS = {
    toggle: true
  }

var Collapse = function似乎是设置一些变量的构造函数,包括对象this.options。这似乎是默认选项和传递给函数的自定义选项的合并,因此自定义选项会覆盖/添加到默认值。

这就是我所理解的 - 我不明白为什么包含默认选项的对象名称是用大写字母书写的: Collapse.DEFAULTS ?这有点像常数吗?

1 个答案:

答案 0 :(得分:5)

所有大写标识符在JavaScript中没有特殊含义。有些人使用它们来表示值应该被处理,好像它是一个常量,但语言中没有任何东西实际上阻止它们被覆盖。