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