Rumah hujung hadapan web tutorial js Analisis penggunaan tanda dolar $ dalam rangka kerja prototaip_kemahiran javascript

Analisis penggunaan tanda dolar $ dalam rangka kerja prototaip_kemahiran javascript

May 16, 2016 pm 03:18 PM
bingkai

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

<input name="name" value="tank" id="name">
$F("nama") Betul

<input name="name" value="tank" >
$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.

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

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menilai keberkesanan kos sokongan komersial untuk rangka kerja Java Bagaimana untuk menilai keberkesanan kos sokongan komersial untuk rangka kerja Java Jun 05, 2024 pm 05:25 PM

Bagaimana untuk menilai keberkesanan kos sokongan komersial untuk rangka kerja Java

Bagaimanakah pilihan rangka kerja PHP yang ringan mempengaruhi prestasi aplikasi? Bagaimanakah pilihan rangka kerja PHP yang ringan mempengaruhi prestasi aplikasi? Jun 06, 2024 am 10:53 AM

Bagaimanakah pilihan rangka kerja PHP yang ringan mempengaruhi prestasi aplikasi?

Amalan terbaik dokumentasi rangka kerja Golang Amalan terbaik dokumentasi rangka kerja Golang Jun 04, 2024 pm 05:00 PM

Amalan terbaik dokumentasi rangka kerja Golang

Bagaimana untuk memilih rangka kerja golang terbaik untuk senario aplikasi yang berbeza Bagaimana untuk memilih rangka kerja golang terbaik untuk senario aplikasi yang berbeza Jun 05, 2024 pm 04:05 PM

Bagaimana untuk memilih rangka kerja golang terbaik untuk senario aplikasi yang berbeza

Bagaimanakah keluk pembelajaran rangka kerja PHP berbanding rangka kerja bahasa lain? Bagaimanakah keluk pembelajaran rangka kerja PHP berbanding rangka kerja bahasa lain? Jun 06, 2024 pm 12:41 PM

Bagaimanakah keluk pembelajaran rangka kerja PHP berbanding rangka kerja bahasa lain?

Perbandingan prestasi rangka kerja Java Perbandingan prestasi rangka kerja Java Jun 04, 2024 pm 03:56 PM

Perbandingan prestasi rangka kerja Java

Penjelasan praktikal terperinci pembangunan rangka kerja golang: Soalan dan Jawapan Penjelasan praktikal terperinci pembangunan rangka kerja golang: Soalan dan Jawapan Jun 06, 2024 am 10:57 AM

Penjelasan praktikal terperinci pembangunan rangka kerja golang: Soalan dan Jawapan

Perbandingan prestasi rangka kerja Golang: metrik untuk membuat pilihan bijak Perbandingan prestasi rangka kerja Golang: metrik untuk membuat pilihan bijak Jun 05, 2024 pm 10:02 PM

Perbandingan prestasi rangka kerja Golang: metrik untuk membuat pilihan bijak

See all articles