2017-09-01 5 views
0

私は別の関数を含む関数に文字列を渡すことができない理由を理解しようとしています。私は警告するときundefinedを得る。jqueryでネストされた関数に文字列を渡す方法

$.fn.downCount = function (current_time) { 
    function countdown(current_time) { 
     alert(current_time) 
    } 
}) 

var current_time = "01:00"; 
downCount(current_time); 
+0

しかし、そのコードは何も警告しません。とにかく 'downCount'から' current_time'を使いたい場合は 'countdown'の引数として' current_time'を削除してください。 – Li357

答えて

1

あなたは実際に内部関数を呼び出すことはありません。関数を呼び出してcurrent_timeを渡します。

$.fn.downCount = function (current_time) { 
 
    function countdown() { 
 
     alert(current_time) 
 
    } 
 
    countdown(); 
 
} 
 

 

 
var current_time = "01:00"; 
 
$.fn.downCount(current_time);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
...

アンドリューが述べたようにまた、あなたがcountdown関数にcurrent_timeに渡す必要はありません。それは簡略化することができます:

$.fn.downCount = function (current_time) { 
    function countdown() { 
     alert(current_time) 
    } 
    countdown(); 
} 
+1

私にそれを打つ。また、OPのオリジナルコードに、最初のプラグイン定義の終わりの中括弧の後に不必要な ")"を追加したいと思います。あなたも同様にそれをキャッチしたように見えます。乾杯。 –

関連する問題