1. ホーム
  2. javascript

[解決済み] 次のJavaScriptの "function(i) "の "i "は何でしょうか?

2022-03-06 19:21:14

質問

次のコードに "function(i)" がありますが、この文の前のどこにも "i" は宣言されていません。

ul.css({width: 10, overflow: 'visible'}).retarder(100, function(i){
   i.css('visibility',  'visible').animate(
      {width: ul[0].wid,left:-50},
      {duration: 500, complete : function(){
         ul.css('overflow',  'visible');
      }}
   );
});

c++の"this"ステートメントに似ている可能性がありそうです。 これは正しいのでしょうか?

どのように解決するのですか?

i は単なる関数パラメータで retarder 関数を無名関数に渡すことができます。

何をするかというと

ul.css({width: 10, overflow: 'visible'}).retarder(100, callback_function);

で、コールバックは無名関数で定義します。

function(i) { ... }  

そのため i は無名関数のパラメータの定義です。