prototype框架中美元符號(hào)$用法分析
本文實(shí)例講述了prototype框架中美元符號(hào)$用法。分享給大家供大家參考,具體如下:
prototype是實(shí)現(xiàn)面向?qū)ο蟮囊粋€(gè)重要工具,是javascript的一個(gè)不錯(cuò)的框架。
用jquery的人都知道,jquery中也有$美元符號(hào),prototype中呢,也有$,他們有什么區(qū)別呢。
1、prototype中$()的用法
prototype寫(xiě)法 $("test") 或者 $$("#test"), 他相當(dāng)于js中document.getElementById("test");
jqueryp寫(xiě)法 $("#test") ,他也相當(dāng)于js中document.getElementById("test");
2、prototype中的$$()用法
jquery寫(xiě)法 $("div") 他相當(dāng)于document.getElementsByTagName('div')
如果prototype也想簡(jiǎn)單取得頁(yè)面中所有div元素,就不能這樣寫(xiě)了。
prototype寫(xiě)法 $("div") 他相當(dāng)于document.getElementById("div")
prototype寫(xiě)法 $$("div") 他相當(dāng)于document.getElementsByTagName('div')
prototype寫(xiě)法 $$("input[value=tank]") 取得頁(yè)面中輸入框值為tank的標(biāo)簽,其實(shí)和jquery差不多,只不過(guò)多了一個(gè)$符號(hào)而已
3、prototype中的$A()用法
$A 主要是用來(lái)將可當(dāng)作數(shù)組使用的任意集合(如 NodeList、許多 DOM 方法返回的 HTMLCollection 或函數(shù)對(duì)象的 arguments 屬性)轉(zhuǎn)換為一個(gè)真正的 Array 對(duì)象。下面四種方法都可以隱藏頁(yè)面中的div標(biāo)簽
$A($$('div')).each(Element.hide); $A($$('div')).map(Element.extend).invoke("hide"); //從思想上來(lái)看,下面二種寫(xiě)法,我在用jquery時(shí),也經(jīng)常用 $A($$('div')).each(function(name,index){ name.style.display='none'; alert(name.innerHTML); }) $A($$('div')).each(function(name,index){ $(name).hide(); })
如果例子中出現(xiàn)TypeError: element.style is undefined { message="element.style is undefined", more...},請(qǐng)把你的prototype的版本升一下級(jí)
4、prototype中的$F()用法
個(gè)人覺(jué)得$F的用法,被設(shè)計(jì)出來(lái)是為了更方便的取表單數(shù)據(jù),不過(guò)它比較單一,因?yàn)樗荒芡ㄟ^(guò)ID來(lái)取
<input name="name" value="tank" id="name">
$F("name") 正確的
<input name="name" value="tank" >
$F("name") 不正確的,TypeError: element is null { message="element is null", more...}
5、prototype中的$H()用法
當(dāng)你傳入一下對(duì)像作為函數(shù)的參數(shù)時(shí),$H將輸入對(duì)像一個(gè)prototype的專(zhuān)有hash對(duì)像。$H感覺(jué)像是轉(zhuǎn)換器,啟到一個(gè)改變形勢(shì)的作用
$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"
6、prototype中的$R()用法
$R函數(shù)和原始的構(gòu)造函數(shù)具有完全相同的參數(shù):start 和 end 分別表示下限值和上限值(兩個(gè)參數(shù)的類(lèi)型必須一致),exclusive 表示是否排除上限值(參數(shù) end)。默認(rèn)不排除上限值。
$R的實(shí)例描述了一系列遵循某種規(guī)則變化的值,如數(shù)字、 文本或其它在語(yǔ)義上支持相鄰值推導(dǎo)的類(lèi)型
能過(guò)例子,來(lái)說(shuō)明,最容易讓人記住了
$A($R("a","z",true)).join(',') //加了參數(shù)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(',') //沒(méi)有加 "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"
$R根據(jù)規(guī)則推測(cè)了一個(gè)$R對(duì)像,$A將這個(gè)對(duì)像轉(zhuǎn)換成了數(shù)組,用,號(hào)將數(shù)組轉(zhuǎn)換成字符串.
$R(0, 10).each(function(value){ alert(value*value); }); //結(jié)果和上面的一樣的,但是each解釋的對(duì)像是不一樣的。 $A($R(0, 10)).each(function(value){ alert(value*value); });
如果報(bào)這樣的錯(cuò)誤 ,TypeError: value.succ is not a function { message="value.succ is not a function", more...},請(qǐng)升級(jí)
7、prototype中的$w()用法
$w將以空格是為分隔符的字符串,轉(zhuǎn)換成數(shù)組,根php的explode(" ",$string);功能是一樣的,針對(duì)性比較強(qiáng)。
$w("aa bb").join(',')
如果報(bào)這樣的錯(cuò)誤 ,ReferenceError: $w is not defined { message="$w is not defined", more...},請(qǐng)升級(jí)
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
值得分享和收藏的Bootstrap學(xué)習(xí)教程
這絕對(duì)是一套值得分享和大家收藏的Bootstrap學(xué)習(xí)教程,完整的知識(shí)體系,系統(tǒng)的學(xué)習(xí)資料,幫助大家開(kāi)啟Bootstrap學(xué)習(xí)之旅,享受Bootstrap帶給大家的奇妙樂(lè)趣2016-05-05JavaScript制作簡(jiǎn)單網(wǎng)頁(yè)計(jì)算器
這篇文章主要為大家詳細(xì)介紹了JavaScript制作簡(jiǎn)單網(wǎng)頁(yè)計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08javascript基于定時(shí)器實(shí)現(xiàn)進(jìn)度條功能實(shí)例
這篇文章主要介紹了javascript基于定時(shí)器實(shí)現(xiàn)進(jìn)度條功能,簡(jiǎn)單分析了javascript定時(shí)器的功能、使用方法并給出了基于定時(shí)器實(shí)現(xiàn)的進(jìn)度條功能實(shí)例,需要的朋友可以參考下2017-10-10JavaScript根據(jù)CSS的Media Queries來(lái)判斷瀏覽設(shè)備的方法
這篇文章主要介紹了JavaScript根據(jù)CSS的Media Queries來(lái)判斷瀏覽設(shè)備的方法,主要思路是通過(guò)CSS Media Queries改變一個(gè)類(lèi)的某個(gè)屬性值(例如 z-index),然后用JavaScript讀取判斷,需要的朋友可以參考下2016-05-05jquery實(shí)現(xiàn)簡(jiǎn)單的遮罩層
這篇文章主要介紹了jquery實(shí)現(xiàn)簡(jiǎn)單的遮罩層相關(guān)代碼,內(nèi)容很豐富,教大家實(shí)現(xiàn)遮罩層效果,感興趣的小伙伴們可以參考一下2016-01-01微信小程序中的video視頻實(shí)現(xiàn) 自定義播放按鈕、封面圖、視頻封面上文案
這篇文章主要介紹了微信小程序中的video視頻實(shí)現(xiàn) 自定義播放按鈕、封面圖、視頻封面上文案,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01解析微信JS-SDK配置授權(quán),實(shí)現(xiàn)分享接口
這篇文章是微信開(kāi)發(fā)的很多前置條件,包括了服務(wù)端基于JAVA的獲取和緩存全局的access_token,獲取和緩存全局的jsapi_ticket,以及前端配置授權(quán)組件封裝,調(diào)用分享組件封裝。需要的朋友可以看下2016-12-12