JavaScript,咱也OO一把

來源:互聯網
上載者:User

OO不是(.)(.)

慚愧,慚愧,JavaScript一直是俺的軟肋。特別是對Javascript類比物件導向編程這塊,一看到javascript代碼中含有什麼prototype,"=function()"這樣的代碼,就敬如神明,心想定是高手所為。這段時間一直在看《Javascript進階程式設計》這本書,其中有些章節,就專門講道了這個方面,看後,不敢說瞭然於胸,但是倒是也能夠寫個小程式,體驗了一把。嘿嘿……JavaScript,今天咱也OO一把。

這個例子很簡單,也很實用,就是在部落格園的部落格上方,顯示一篇隨機推薦的文章。這樣,有時候,碰巧,能粘住瀏覽者一會。呵呵~

小打小鬧,高人迴避~先說一下,實現思想1:每篇推薦文章都是一個對象

這個對象有2個屬性(URL和Title),分別是文章的URL地址和文章標題,和一個方法(commendMe),用於將自己添加到top導覽列後面。

function article(sURL,sTitle){
    this.URL=sURL;
    this.title=sTitle;
}
article.prototype.URL=function(){
    return(this.URL);
}
article.prototype.title=function(){
    return(this.title);
}
article.prototype.commendMe=function(){
    var comArticleURL=this.URL;
    var comArticleTitle=this.title;
    var commendatoryArticleHTML="&nbsp;<img style=\"position:relative;top:3px;\"   src=\"http://www.cnblogs.com/images/cnblogs_com/justinyoung/2007/broadcast.gif\" alt=\"推薦閱讀文章\" /> 推薦閱讀:" + "<a title=\"" + comArticleTitle + "\" href=\"" + comArticleURL + "\">" + comArticleTitle + "</a>";;
    var mylinks=document.getElementById("mylinks");    
    var commendatoryArticle=document.createElement('span');
    commendatoryArticle.innerHTML=commendatoryArticleHTML;
    mylinks.appendChild(commendatoryArticle);
}

 2:定義一個數組,數組裡麵包含很多的文章對象

    var articleList=new Array();
    articleList[0]=new article("http://www.cnblogs.com/JustinYoung/archive/2007/10/31/dead-of-typer.html","利用《死亡打字員》提高程式員的命根子技能");
    articleList[1]=new article("http://www.cnblogs.com/JustinYoung/archive/2007/11/08/952833.html","【CSS翻轉門】技術執行個體講解(附源碼下載)");
    articleList[2]=new article("http://www.cnblogs.com/JustinYoung/archive/2007/11/20/speeding-up-web-site-14rule.html","如何提高網頁的效率(上篇)");
    articleList[3]=new article("http://www.cnblogs.com/JustinYoung/archive/2007/11/28/speeding-up-web-site-yslow.html","如何提高網頁的效率(下篇)");3:調用對象方法,完成添加
完成的

在window.onload的時候,從數組裡面隨機選出一個元素,然後調用這個元素(對象)的commendMe方法,從而完成添加。

window.onload=function(){
var randomNum = parseInt(articleList.length*Math.random());
articleList[randomNum].commendMe();
articleList=null;//釋放資源
}

你可以通過,查看本頁的原始碼清楚的看到這些代碼片斷。

另記:

周末,花了一些時間,修正了一下,部落格的側邊欄代碼和底部代碼,在Firefox裡面終於沒有指令碼錯誤了(主要就是Firefox對insertAdjacentElement支援的不好惹得禍,換成appendChild就好了)。這下,在Firefox下也能完美的瀏覽了。嘿嘿~(竊喜中……)

Tag標籤:javascript 物件導向,物件導向的javascript,javascript 對象,javascript的對象,javascript中的對象,javascript對象詳解,javascript缺少對象,javascript物件導向程式設計,javascript prototype,firefox insertAdjacentElement,appendChild
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.