0

次のコードがあります(わかりやすくするために切り捨てられています):

if ( typeof CPM == "undefined" || !CPM) {var CPM={};}

(function(){
  CPM.process = {
    createStyles: function() {
      //Do style processing
      alert("processing styles");
    },
    createClasses = {
      //Do style processing
      alert("processing classes");      
    },
    init: function(){CPM.process.createStyles()}
  };
})();

init は会社で使用される規則であり、他の理由でそこにある必要があります。私が避けようとしているのは、init の追加の関数呼び出しです。同じ init を記述して関数コンテキストの作成を回避する別の方法はありますか? お気に入り:

init: CPM.process.createStyles

上記は失敗しましたが、最適化を達成する他の方法があるかどうかを確認しようとしています

4

1 に答える 1

3

キー割り当ての時点でまだ定義されていないため、直接設定はinit: CPM.process.createStyles失敗します。次の 2 つの手順でオブジェクトを作成する必要があります。CPM.processinit

  CPM.process = {
    createStyles: function() {
      //Do style processing
      alert("processing styles");
    },
    createClasses = {
      //Do style processing
      alert("processing classes");      
    }
  };
  CPM.process.init = CPM.process.createStyles;

または、外部関数定義を使用して両方のキーに割り当てることができます。

  function createStyles() {
    //Do style processing
    alert("processing styles");
  }
  CPM.process = {
    createStyles: createStyles,
    createClasses = {
      //Do style processing
      alert("processing classes");      
    },
    init: createStyles
  };
于 2012-10-18T14:58:47.390 に答える