日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > web前端 > jscript > Prototype系列(1)初探prototype.js

Prototype系列(1)初探prototype.js

來源:程序員人生   發(fā)布時間:2014-04-28 11:44:33 閱讀次數(shù):3117次
prototype.js 是什么?
萬一你沒有使用過大名鼎鼎的prototype.js,那么讓我來告訴你,prototype.js是由Sam Stephenson寫的一個javascript類庫。這個構(gòu)思奇妙,而且兼容標(biāo)準(zhǔn)的類庫,能幫助你輕松建立有高度互動的web2.0特性的富客戶端頁面。
如果你最近嘗試使用它,你大概了解到文檔并不是作者的一個強項。和在我以前使用這個類庫的不少開發(fā)者一樣,一開始,我不得不一頭扎進閱讀prototype.js的源代碼和實驗它的功能中。我想,在我學(xué)習(xí)完它之后,把我學(xué)到的東西分享給大家是件不錯的事。
同時,在本文中,我也將提供一個關(guān)于這個類庫提供的objects,classes,functions,extensions這對東東的非官方參考
在閱讀這個文檔時,熟悉Ruby的開發(fā)者將會注意到Ruby的一些內(nèi)建類和本類庫擴展實現(xiàn)之間非常相似。
相關(guān)文章
Advanced JavaScript guide.
一些實用的函數(shù)
這個類庫帶有很多預(yù)定義的對象和實用函數(shù),這些東東的目的顯然是把你從一些重復(fù)的打字中解放出來 。
使用$()方法
$() 方法是在DOM中使用過于頻繁的 document.getElementById() 方法的一個便利的簡寫,就像這個DOM方法一樣,這個方法返回參數(shù)傳入的id的那個元素。
比起DOM中的方法,這個更勝一籌。你可以傳入多個id作為參數(shù)然后 $() 返回一個帶有所有要求的元素的一個 Array 對象。
<HTML>
<HEAD>
<TITLE> Test Page </TITLE>
<script src="prototype-1.3.1.js"></script>
<script>
function test1()
{
var d = $('myDiv');
alert(d.innerHTML);
}
function test2()
{
var divs = $('myDiv','myOtherDiv');
for(i=0; i<divs.length; i++)
{
alert(divs[i].innerHTML);
}
}
</script>
</HEAD>
<BODY>
<div id="myDiv">
<p>This is a paragraph</p>
</div>
<div id="myOtherDiv">
<p>This is another paragraph</p>
</div>
<input type="button" value=Test1 onclick="test1();"><br>
<input type="button" value=Test2 onclick="test2();"><br>
</BODY>
</HTML>
另外一個好處是,這個函數(shù)能傳入用string表示的對象ID,也可以傳入對象本身,這樣,在建立其它能傳兩種類型的參數(shù)的函數(shù)時非常有用。
使用$F()函數(shù)
$F()函數(shù)是另一個大收歡迎的"快捷鍵",它能用于返回任何表單輸入控件的值,比如text box,drop-down list。這個方法也能用元素id或元素本身做為參數(shù)。
<script>
function test3()
{
alert( $F('userName') );
}
</script>
<input type="text" id="userName" value="Joe Doe"><br>
<input type="button" value=Test3 onclick="test3();"><br>
使用$A()函數(shù)
$A()函數(shù)能把它接收到的單個的參數(shù)轉(zhuǎn)換成一個Array對象。
這個方法,結(jié)合被本類庫擴展了的Array類,能方便的把任何的可枚舉列表轉(zhuǎn)換成或拷貝到一個Array對象。一個推薦的用法就是把DOM Node Lists轉(zhuǎn)換成一個普通的Array對象,從而更有效率的進行遍歷,請看下面的例子。
<script>
function showOptions(){
var someNodeList = $('lstEmployees').getElementsByTagName('option');
var nodes = $A(someNodeList);
nodes.each(function(node){
alert(node.nodeName + ': ' + node.innerHTML);
});
}
</script>
<select id="lstEmployees" size="10" >
<option value="5">Buchanan, Steven</option>
<option value="8">Callahan, Laura</option>
<option value="1">Davolio, Nancy</option>
</select>
<input type="button" value="Show the options" onclick="showOptions();" >
使用 $H()函數(shù)
$H()函數(shù)把一些對象轉(zhuǎn)換成一個可枚舉的和聯(lián)合數(shù)組類似的Hash對象。
<script>
function testHash()
{
//let's create the object
var a = {
first: 10,
second: 20,
third: 30
};
//now transform it into a hash
var h = $H(a);
alert(h.toQueryString()); //displays: first=10&second=20&third=30
}
</script>
使用$R()函數(shù)
$R()是new ObjectRange(lowBound,upperBound,excludeBounds)的縮寫。
跳到ObjectRange 類文檔可以看到一個關(guān)于此類的完整描述. 此時,我們還是先來看一個例子以展示這個縮寫能代替哪些方法吧。其它相關(guān)的一些知識可以在Enumerable 對象文檔中找到。
<script>
function demoDollar_R(){
var range = $R(10, 20, false);
range.each(function(value, index){
alert(value);
});
}
</script>
<input type="button" value="Sample Count" onclick="demoDollar_R();" >
使用Try.these()函數(shù)
Try.these() 方法使得實現(xiàn)當(dāng)你想調(diào)用不同的方法直到其中的一個成功正常的這種需求變得非常容易, 他把一系列的方法作為參數(shù)并且按順序的一個一個的執(zhí)行這些方法直到其中的一個成功執(zhí)行,返回成功執(zhí)行的那個方法的返回值。
在下面的例子中, xmlNode.text在一些瀏覽器中好用,但是xmlNode.textContent在另一些瀏覽器中正常工作。 使用Try.these()方法我們可以得到正常工作的那個方法的返回值。
<script>
function getXmlNodeValue(xmlNode){
return Try.these(
function()

Unknown macro: {return xmlNode.text;}
,
function() {return xmlNode.textContent
);
}
</script>
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------

上一篇 兼容IE和Firefox的、讀取本地文件JS代碼

下一篇 模仿 Google 新搜索框的陰影效果

分享到:
------分隔線----------------------------
為碼而活
積分:4237
15粉絲
7關(guān)注
欄目熱點
關(guān)閉
程序員人生
主站蜘蛛池模板: 99re在线播放视频 | 欧美在线一区二区 | 久久久性 | 成人深夜视频 | 美女视频一区 | 正在播放国产精品 | 91亚洲成人 | 欧美亚洲国产视频 | 日韩成人小视频 | 麻豆精品国产传媒mv男同 | 国产精品白浆 | 日韩欧美国产精品 | 久久精品成人一区二区三区蜜臀 | 亚洲一区综合 | jizz中国日本 | 三级毛片a| 一区二区三区四区在线视频 | 日本三级一区 | 久久精品夜夜夜夜夜久久 | 黄网在线 | 韩日电影在线观看 | 日韩国产一区二区三区 | 亚洲一区二三区 | 久久伊99综合婷婷久久伊 | 久久国产精品久久久久久久久久 | 亚洲国产欧美日韩 | 久久久全国免费视频 | 亚洲电影在线播放 | 国产成人久久 | 一区二区自拍 | 激情视频国产 | 欧美一级国产 | 久久久久久亚洲蜜桃 | 青青av | 久久精品免费观看 | 国产在线一级 | 99精品久久久国产一区二区三 | 国产精品v亚洲精品v日韩精品 | 欧美黑人xxxxx | 99视频在线播放 | 精品黄网站 |