Analisis penggunaan tanda dolar $ dalam rangka kerja prototaip_kemahiran javascript

WBOY
Lepaskan: 2016-05-16 15:18:46
asal
1163 orang telah melayarinya

Contoh dalam artikel ini menerangkan penggunaan tanda dolar $ dalam rangka kerja prototaip. Kongsikan dengan semua orang untuk rujukan anda, butirannya adalah seperti berikut:

Prototaip ialah alat penting untuk pelaksanaan berorientasikan objek dan rangka kerja yang baik untuk JavaScript.
Sesiapa yang menggunakan jquery tahu bahawa terdapat tanda $ dolar dalam jquery, dan terdapat juga $ dalam prototaip Apakah perbezaan antara mereka?

1. Penggunaan $() dalam prototaip

Prototaip ditulis sebagai $("test") atau $$("#test"), yang bersamaan dengan document.getElementById("test");
dalam js kaedah penulisan jqueryp $("#test"), yang juga bersamaan dengan document.getElementById("test");

dalam js

2. Penggunaan $$() dalam prototaip

tulisan jquery $("div") adalah bersamaan dengan document.getElementsByTagName('div')
Jika prototaip juga ingin mendapatkan semua elemen div dalam halaman, ia tidak boleh ditulis seperti ini.
Cara untuk menulis prototaip ialah $("div") yang bersamaan dengan document.getElementById("div")
Cara untuk menulis prototaip ialah $$("div") yang bersamaan dengan document.getElementsByTagName('div')
Kaedah penulisan prototaip $$("input[value=tank]") mendapat label yang nilai kotak inputnya ialah tangki pada halaman Ia sebenarnya serupa dengan jquery, kecuali terdapat simbol $ tambahan

3. Penggunaan $A() dalam prototaip

$A digunakan terutamanya untuk menukar mana-mana koleksi yang boleh digunakan sebagai tatasusunan (seperti NodeList, HTMLCollection yang dikembalikan oleh banyak kaedah DOM atau sifat argumen objek fungsi) kepada objek Tatasusunan sebenar. Empat kaedah berikut boleh menyembunyikan teg div dalam halaman

$A($$('div')).each(Element.hide); 
$A($$('div')).map(Element.extend).invoke("hide"); 
//从思想上来看,下面二种写法,我在用jquery时,也经常用 
$A($$('div')).each(function(name,index){ 
 name.style.display='none'; 
 alert(name.innerHTML); 
 }) 
 $A($$('div')).each(function(name,index){ 
 $(name).hide(); 
}) 

Salin selepas log masuk

Jika TypeError: element.style is undefined { message="element.style is undefined", lagi...} muncul dalam contoh, sila tingkatkan versi prototaip anda

4. Penggunaan $F() dalam prototaip

Secara peribadi, saya rasa penggunaan $F direka bentuk untuk memudahkan anda mendapatkan semula data borang, tetapi ia agak mudah kerana ia hanya boleh diperoleh melalui ID


$F("nama") Betul


$F("name") Salah, TypeError: element is null { message="element is null", lagi...}

5. Penggunaan $H() dalam prototaip

Apabila anda memasukkan objek sebagai parameter fungsi, $H akan memasukkan objek ke dalam objek cincang proprietari prototaip. $H berasa seperti penukar, mencetuskan kesan perubahan situasi

$H({name:'tank',sex:1,height:'170cm'}).toArray()
[["name", "tank"], ["sex", 1], ["height", "170cm"]]
$H({name:'tank',sex:1,height:'170cm'}).toQueryString()
"name=tank&sex=1&height=170cm"

Salin selepas log masuk

6. Penggunaan $R() dalam prototaip

Fungsi $R dan pembina asal mempunyai parameter yang sama: mula dan akhir masing-masing mewakili nilai had bawah dan nilai had atas (jenis kedua-dua parameter mesti konsisten), dan eksklusif mewakili sama ada untuk mengecualikan nilai atas nilai had (hujung parameter) . Nilai had atas tidak dikecualikan secara lalai.

Kejadian $R menerangkan satu siri nilai yang berubah mengikut peraturan tertentu, seperti nombor, teks atau jenis lain yang menyokong secara semantik terbitan nilai bersebelahan

Paling mudah untuk orang ingat jika mereka boleh menerangkannya melalui contoh

$A($R("a","z",true)).join(',') //加了参数true 
"a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y" 
$A($R("a","z")).join(',') //没有加 
"a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z" 

Salin selepas log masuk

$R menyimpulkan objek $R mengikut peraturan, $A menukar objek kepada tatasusunan dan menggunakan tanda, untuk menukar tatasusunan kepada rentetan.

$R(0, 10).each(function(value){ 
 alert(value*value); 
}); 
//结果和上面的一样的,但是each解释的对像是不一样的。 
$A($R(0, 10)).each(function(value){ 
 alert(value*value); 
}); 

Salin selepas log masuk

Jika ralat sedemikian dilaporkan, TypeError: value.succ bukan fungsi { message="value.succ is not a function", lagi...}, sila tingkatkan

7. Penggunaan $w() dalam prototaip

$w menukar rentetan dengan ruang sebagai pembatas kepada tatasusunan Fungsi root php's explode(" ",$string);

$w("aa bb").join(',')

Jika ralat sedemikian dilaporkan, ReferenceError: $w tidak ditakrifkan { message="$w is not definition", lagi...}, sila tingkatkan

Saya harap artikel ini akan membantu semua orang dalam pengaturcaraan JavaScript.

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan