Мне нравится набирать в своих комментариях как можно больше информации, поэтому, когда позже вся моя программа перестанет работать, я могу вернуться и выяснить, что делает функция, почему она это делает и почему она не делаетчто-то другое.Недостатком является то, что, как отмечали другие, это означает, что вы должны обновлять свои комментарии каждый раз, когда обновляете свой код.Однако, если ваши комментарии полезны, это действительная стоимость.
/**
* There are several different states which all DisplayObjects can *
* be in. The majority of these are mouse events (over, out, click, *
* press, release, scroll...), some are keyboard events (key press, *
* key release, shift...) and the rest are implementation specific *
* (ie. animations, cleaning the screen). Display objects which are *
* created use these constants to create indexed Graphics objects, and *
* then indexed cached canvases. Doing so allows for hot swapping of *
* one context (ie. OVER) for another context (ie. OUT). This provides *
* considerable performance increases (at the cost of increased memory *
* and increased initial load times). Also, this provides a unified *
* model of graphics. Therefore, Text, Shape, or Bitmap instances can *
* all be created differently and rendered differently (via the child *
* class specific render() function), then cached onto a back end *
* canvas, at which point, they are all drawn onto the main canvas in a *
* similar fashion. *
* @property _contextID
* @protected
* @type Object
**/
var contextCounter = 0;
contextID = {
ANIMATION : contextCounter++,
DEFAULT : contextCounter++,
CLEAN : contextCounter++,
CLICK : contextCounter++,
CLIP : contextCounter++,
COLLISION : contextCounter++,
DBLCLICK : contextCounter++,
DBLLDRAG : contextCounter++,
DBLLDRAGGING : contextCounter++,
DBLRCLICK : contextCounter++,
DBLRDRAG : contextCounter++,
DBLRDRAGGING : contextCounter++,
DRAG : contextCounter++,
DRAGGING : contextCounter++,
DROP : contextCounter++,
ENTER : contextCounter++,
INVALID : contextCounter++,
INVALIDDROP : contextCounter++,
LDRAG : contextCounter++,
LDRAGGING : contextCounter++,
LEAVE : contextCounter++,
LPRESS : contextCounter++,
LRELEASE : contextCounter++,
MOTION : contextCounter++,
RCLICK : contextCounter++,
RDRAG : contextCounter++,
RDRAGGING : contextCounter++,
RPRESS : contextCounter++,
RRELEASE : contextCounter++,
SCROLL : contextCounter++,
SCROLLIN : contextCounter++,
SCROLLOUT : contextCounter++,
TRPLCLICK : contextCounter++,
TRPLLDRAG : contextCounter++,
TRPLLDRAGGING : contextCounter++,
TRPLRCLICK : contextCounter++,
TRPLRDRAG : contextCounter++,
TRPLRDRAGGING : contextCounter++,
VALID : contextCounter++,
VALIDDROP : contextCounter++
};