1
//1  
var object1 = function(o){

   // some code

};  

//2  
var object2 = new object1({

   method1: //some code  
   method2: //some code  
   method3: //some code

});

//3


document.onkeydown=function(e){     
  var eventKey = e.keyCode || e.charCode;   
  var sel = Coverflow.selected;  
  if(eventKey == 39 || eventKey == 37) {  
        if(eventKey == 39) sel++;  
      else if(eventKey == 37) sel--;  
      sel = sel.limit(0, Coverflow.getListLength() - 1);  
      Coverflow.select(sel);
    }  
}

さて、私の質問は次のとおりです。

  1. object1 が作成されるとどうなりますか? = function() 部分はどういう意味ですか?
  2. object2 は object1 を指しています。その割り当ては継承を作成していますか?
  3. 可能であれば、誰かが document.onkeydown() で何が起こっているかを説明できますか。コードはカバーフロー効果用です。また、この関数はプログラム内の他の場所で呼び出されていない場合、どのように実行されるのでしょうか?

ありがとうございました

4

3 に答える 3

0

1-object1実行時に定義される、という名前の関数、詳細はこちら

2-パラメータが渡された関数の新しいインスタンス(関数宣言では「o」と呼ばれます)

3-関数はonkeydownイベントにバインドされているため、ドキュメントでキーが押されるたびに実行されます。詳細はこちら

于 2013-03-22T12:56:19.677 に答える
0

JavaScript にはクラスの概念はありませんが、同様の動作が可能です。したがって、インスタンス化されたクラスである可能性のあるオブジェクト/関数を呼び出します。

  1. object1コンストラクターによって定義されたある種のクラスであり、function(){...}部分はそのクラスのコンストラクターです。
  2. object2クラスのインスタンスへの参照であり、それ自体がオブジェクトである 1 つのパラメーターを使用してクラスobject1のコンストラクターを呼び出すことによってインスタンス化されました。object1
  3. onkeydownkeydownイベントのハンドラー用の DOM オブジェクトの予約済みプロパティです。このイベントがブラウザによって発生すると、関連する関数によって処理されます (存在する場合)。
于 2013-03-22T12:58:09.583 に答える