0

私はプライベート関数createSomething()を持っています:

function Player(id) {

  /**
   *  Creates stuff
   *  @private
   */
  this.createSomething = function() {
    // do something good
  };
}

そして、Google ClosureCompilerでソースをコンパイルした後に名前が変更された関数「createSomething()」を見たいです。はい、ADVANCED_OPTIMIZATIONSについては知っていますが、jQueryや他のライブラリとは互換性がありません。

4

2 に答える 2

3

The solution is to use a string literal to refer to the property.

function Player(id) {
  /**
   *  @private
   */
  this['createSomething'] = function() {
    // do something good
  };
}

This works because the compiler never renames string literals. But be careful.

You can compile your code with ADVANCED_OPTIMIZATIONS and still have you compatibility with other libraries. You'll need to read about externs and exports in the library documentation:

于 2011-10-10T05:35:03.800 に答える
-3

これなしで使用するだけ

function Player(id) {

  /**
   *  Creates stuff
   *  @private
   */
  createSomething = function() {
    // do something good
  };
}
于 2010-02-01T17:30:11.010 に答える