違いは何ですか?どちらが優れていますか?
(function($){
$.random = function(){
alert('random');
};
})(jQuery);
また
function random() {
alert('random');
}
ありがとう!
違いは何ですか?どちらが優れていますか?
(function($){
$.random = function(){
alert('random');
};
})(jQuery);
また
function random() {
alert('random');
}
ありがとう!
最初の例:
「より良い」はかなり主観的なものですが、このコードではそのアプローチの利点は見られません。
2 つの関数はまったく同じことを行うため、機能に違いはありません。
最初の構文は、別の関数でグローバル名前空間を肥大化させず、代わりにその関数を jQuery に追加するため、より優れていますが、jQuery を拡張する正しい方法ではありません。
このサンプル:
(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'); };