• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    javascript支持面向對象的開發(1)

    發布: 2007-6-30 18:56 | 作者: admin | 來源: | 查看: 13次 | 進入軟件測試論壇討論

    領測軟件測試網 如果你使用JavaScript編程,你或許會懷疑它是否包含了面向對象(OO)的結構。實際上,JavaScript的確支持面向對象的架構――在某種程度上。本文將通過一個可擴展向量圖形(SVG)的實例來說明JavaScript的OO結構。
    我如何在類中定義方法和屬性?




           

    OO開發的一個基本方面是類及其相應的方法和/或屬性的使用。JavaScript通過function關鍵字支持類(及其屬性)的使用。下面的代碼定義了一個叫做Figure的JavaScript類:
    function Figure() {
    this.centerX=0;
    this.centerY=0;
    this.area=0;
    this.transform = transform; // methods are defined like this
    function transform(moveX,moveY,angle) {
    this.centerX += moveX;
    this.centerY += moveY;
    } }

    這個Figure類有三個屬性:centerX,centerY,和area。另外,它還有一個方法叫做transform()。前三行是這個類的構造器。
    但是它看起來不像一個類
    你會想Figure()看起來不像一個類,而更像一個JavaScript的函數。那么為什么Figure()定義的是個類?

    嚴格的說,Figure()函數沒有定義一個類,但是它仿造了一個。它實際上創建了一個對象,在括號里的代碼使這個對象的構造器。JavaScript的對象支持是很基礎的,它并不區分類和對象。
    這就引到了問題為什么Figure()函數創建的是一個對象。對象是可以有屬性和方法的;旧,因為Figure()函數同時包含了屬性和方法,它就是個對象。在JavaScript里,所有的函數即是對象又是可調用的代碼塊。這不像它聽起來的那樣容易被誤解。要創建一個Figure()類/對象,你只用使用以下句法:
    MyFigure = new Figure();
    你也可以把Figure()函數當作代碼塊調用,就像這樣:
    figValue = Figure();
    變量figValue沒有被定義是因為代碼塊Figure()沒有返回任何值。如果你把return(this.area)加到函數的最后一行,figValue就會有個值0。所以figValue是個類型數字,MyFigure是對象 Rectangle的實例。
    為什么所有的變量前面都一個“this”?

    這個關鍵字this表示這是對象的實例變量,可以使用MyFigure.centerX從對象外部訪問。要讓變量成為私有變量,去掉前綴this就行了。this.transform = transform這一行讓方法成為公用方法。這個方法通過MyFigure.transform(100,100,0)調用。

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>