-1

違いは何ですか?どちらが優れていますか?

(function($){
    $.random = function(){
        alert('random');
    };
})(jQuery);

また

function random() {
    alert('random');
}

ありがとう!

4

3 に答える 3

2

最初の例:

  • jQueryの機能を一切使用していません
  • jQueryに依存
  • より多くのコードを使用

「より良い」はかなり主観的なものですが、このコードではそのアプローチの利点は見られません。

于 2013-10-31T21:48:31.160 に答える
1

2 つの関数はまったく同じことを行うため、機能に違いはありません。

最初の構文は、別の関数でグローバル名前空間を肥大化させず、代わりにその関数を jQuery に追加するため、より優れていますが、jQuery を拡張する正しい方法ではありません。

于 2013-10-31T21:47:28.460 に答える
0

このサンプル:

(function($){
    $.random = function(){
        alert('random');
    };
})(jQuery);

と同じです:

jQuery.random = function(){
    alert('random');
};

そして、このサンプル:

function random() {
    alert('random');
}

と同じです:

window.random = function() {
    alert('random');
};

ご覧のとおり、唯一の違いは名前空間 (jQueryおよびwindow) です。

jQuery.random = function() { alert('random'); };
window.random = function() { alert('random'); };
于 2013-10-31T21:58:28.580 に答える