首頁 >web前端 >js教程 >prototype框架中美元符號$用法分析_javascript技巧

prototype框架中美元符號$用法分析_javascript技巧

WBOY
WBOY原創
2016-05-16 15:18:461176瀏覽

本文實例講述了prototype框架中美元符號$用法。分享給大家參考,具體如下:

prototype是實作物件導向的重要工具,是javascript的一個不錯的框架。
用jquery的人都知道,jquery中也有$美元符號,prototype中呢,也有$,他們有什麼差別呢。

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 主要是用來將可當作陣列使用的任意集合(如 NodeList、許多 DOM 方法傳回的 HTMLCollection 或函數物件的 arguments 屬性)轉換為一個真正的 Array 物件。以下四種方法都可以隱藏頁面中的div標籤

$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(); 
}) 

如果範例出現TypeError: element.style is undefined { message="element.style is undefined",  more...},請把你的prototype的版本升一下等級

4、prototype中的$F()用法

個人覺得$F的用法,被設計出來是為了更方便的取表單數據,不過它比較單一,因為他只能透過ID來取


$F("name")  正確的


$F("name")  不正確的,TypeError: element is null { message="element is null", more...}

5、prototype中的$H()用法

當你傳入一下物件作為函數的參數時,$H將輸入物件一個prototype的專有hash物件。 $H感覺像是轉換器,啟到一個改變情勢的作用

$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函數和原始的建構子有完全相同的參數:start 和end 分別表示下限值和上限值(兩個參數的型別必須一致),exclusive 表示是否排除上限值(參數end) 。預設不排除上限值。

$R的實例描述了一系列遵循某種規則變化的值,如數字、 文本或其它在語義上支援相鄰值推導的類型

能過例子,來說明,最容易讓人記住了

$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" 

$R根據規則推測了一個$R物件,$A將這個物件轉換成了數組,用,號將數組轉換成字串.

$R(0, 10).each(function(value){ 
 alert(value*value); 
}); 
//结果和上面的一样的,但是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將以空格是為分隔符號的字串,轉換成數組,根php的explode(" ",$string);功能是一樣的,針對性比較強。

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

如果報這樣的錯誤 ,ReferenceError: $w is not defined { message="$w is not defined",  more...},請升級

希望本文所述對大家JavaScript程式設計有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn