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

Sve*_*ven 2 javascript jquery plugins twitter-bootstrap

在学习如何编写一个好的JavaScript插件时,我正在研究Twitter Bootstrap(使用jQuery)中的JavaScript文件.

崩溃插件的开头有这样的代码:

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
  }
Run Code Online (Sandbox Code Playgroud)

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

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

Que*_*tin 5

所有大写标识符在JavaScript中没有特殊含义.有些人使用它们来表明应该将值视为常量,但语言中没有任何内容实际上阻止它们被覆盖.