Nasıl genişletecek() jQuery iş?
Bir eklenti olarak bunu gördüm:
var options = $.extend(defaults, options);
Nasıl çalışır?
extend()
ne yapar?
CEVAP
Birden Çok Parametre
Belgelere uzatmak nasıl işlediğini açıklayan kesin değil, küçük bir test yaptım:
var a = {foo: 1, bar: 1};
var b = {foo: 2, baz: 2};
var c = {foo: 3};
var r = jQuery.extend(a,b,c);
console.log("A: Foo=" a.foo " Bar=" a.bar " Baz=" a.baz);
console.log("B: Foo=" b.foo " Bar=" b.bar " Baz=" b.baz);
console.log("C: Foo=" c.foo " Bar=" c.bar " Baz=" c.baz);
console.log("R: Foo=" r.foo " Bar=" r.bar " Baz=" r.baz);
console.log("A === R?: " (a === r));
(console.log
işlevi Firebug çalışma; uyarı ile değiştirmek için tasarlanmıştır() veya başka bir çıkış fonksiyonu Eğer isterseniz).
Sonuçlar:
A: Foo=3 Bar=1 Baz=2
B: Foo=2 Bar=undefined Baz=2
C: Foo=3 Bar=undefined Baz=undefined
R: Foo=3 Bar=1 Baz=2
A === R?: true
Bu yazılım sayesinde bir WordPress kullanmak görebiliriz.() uzatmak:
- Nesne ilk parametresi tarafından sağlanan ile başlar.
- Ekler ikinci parametre herhangi bir özellik. Eğer bu özellik zaten ilk parametre varsa, üzerine yazılır. İkinci parametre için nesne değişmez.
- Tekrarlar herhangi bir sonraki parametre ile yukarıda.
- Döner ilk parametre.
Bu kullanıcı ve varsayılan option nesneleri birleştirmek için yararlı seçenekleri tam bir set almak için
function foo(userOptions) {
var defaultOptions = {
foo: 2,
bar: 2
};
var someOtherDefaultOptions = {
baz: 3
};
var allOptions = jQuery.extend(
defaultOptions,
someOtherDefaultOptions,
userOptions
);
doSomething(allOptions);
}
foo({foo:1, baz:1});
Unutmayın "" üzerine yazma için geçerli bir değer olduğunu, ancak "tanımsız" değil. boş Bu kullanmak mümkün olabilir.
var a = {foo: "a", bar: "a"};
var b = {foo: null, bar: undefined};
jQuery.extend(a,b);
console.log("A: Foo=" a.foo " Bar=" a.bar);
Sonuçları:
A: Foo=null Bar=a
Tek Parametre
Eğer ** 16 yaşında, sadece bir nesne o zaman geçirirseniz bir WordPress kullanmak jQuery
nesne varsayarkendisi""(örn: bir değiştirilecek) parametre ve nesne "" (örn: ilk ekleme). ikinci ilki Yani:
console.log( "Before: " jQuery.foo );
jQuery.extend({foo:1});
console.log( "After: " jQuery.foo );
Sonuçları:
Before: undefined
After: 1
Nasıl bir yönlendirme sayfası jQuery k...
Nasıl düğme jQuery ile seçili olan bil...
Nasıl jQuery ile sayfa yenileme yapabi...
Nasıl jQuery Ajax çağrısından sonra bi...
Nasıl bir köprü jQuery kullanarak href...