1
var trackDay = new Date(2013, 10, 1);


alert(trackDay);

img.addEventListener("click", function(trackDay){                            
    alert(trackDay);
}.bind(null,trackDay),true); 

trackDay.setDate(trackDay.getDate()+1);

クリック イベントに関するこのアラートは、最初の値にしたいときに、インクリメントされた日付の値を生成します。

4

2 に答える 2

1

バインドを使用して日付オブジェクトの文字列表現を渡し、コールバック関数内でその文字列から新しい日付オブジェクトを作成できるよりも、2 番目の変数を使用できない/使用したくないと仮定します。

プランカーはこちら

var trackDay = new Date(2013, 10, 1);

alert(trackDay);

img.addEventListener("click", function(trackDay){
    var date = new Date(trackDay);
    alert(date);
}.bind(null,trackDay.toString()),true); 

trackDay.setDate(trackDay.getDate()+1);
于 2013-11-14T17:55:35.507 に答える
0

jsfiddleはあなたが望むことをしますか?

HTML:

<img src="http://placekitten.com/100/100" />

JavaScript:

(function () {
    'use strict';
    var img;
    function trackDay (val) {
        return function () {
            alert(val);
            val += 1;
        }
    }
    img = document.getElementsByTagName('img')[0];
    img.addEventListener("click", trackDay(0), true);
}());
于 2013-11-14T16:59:17.650 に答える