3

私は次のようなことを達成しようとしていますが、何が悪いのかわかりません:

$.a = function() {

// some logic here

function abc(id) {
   alert('test'+id);
}


}

$.a.abc('1');

return関数を使ってみましたが、うまくいかないようです。誰か助けてくれませんか。

お時間をいただきありがとうございます。

4

2 に答える 2

9

それ$.a自体が関数である必要があるため、abc関数をプロパティとして関数に追加する必要があり$.aます。

$.a = function () {
    // some logic here...
};

$.a.abc = function (id) {
    alert('test' + id);
};

abc関数内から定義する必要がある場合$.aは、次のように実行できます。このメソッドを使用する場合は、が呼び出される$.a.abcまで使用できないことに注意してください。$.a関数が呼び出されるまで、関数内の何も評価されません。

$.a = function () {

    // Do some logic here...

    // Add abc as a property to the currently calling function ($.a)
    arguments.callee.abc = function (id) {
        alert('test' + id);
    };
};

$.a();
$.a.abc('1');
于 2009-07-30T06:41:02.893 に答える
1
$.a = (function(){
    var a = function() {
        //...
    };
    a.abc = function() {
        //...
    }
    return a;
})();
于 2009-07-30T07:51:27.663 に答える