javascript物件導向編程之三 function是方法(函數)

來源:互聯網
上載者:User

在進行編程時,必免不了要碰到複雜的功能。初學者最怕複雜的功能,因為不能夠很好的進行功能邊界劃分,只能一大串if、迴圈加case堆疊在一起,結果出來的程式自己看著暈,別人看著更暈。好程式不是寫給computer的,而是寫給human的。遇到複雜功能,應該想著把它簡化、組件化,把小功能封裝成小工具,小功能塊可以任意的組合得到千變萬化的複雜功能。function就可以協助我們把功能進行封裝。那什麼是封裝呢。要我說,只要把具體實現給打包,對外提供調用介面那就是封裝,方法也好、類也好就做了這些事。

javascript中的function可以用來建立方法、也可以用來建立類,實際上我們可以認為是用function來類比出的類(說到類一般都會要去瞭解閉包的知識)。還是先看一下方法吧。

javascript函數分為有名函數、匿名函數和在匿名函數基礎上延伸出來的立即執行函數。

普通函數就是用function直接聲明的有名函數。

function Hello() {
       alert("hello , everybody!");
     };

     Hello();

     function SayHelloTo(somebody) {
       alert("hello , " + somebody + "!");
     };

     SayHelloTo("張三");

上面分別建立了Hello和SayHelloTo方法。Hello不帶有參數,直接通過Hello()來完成調用。SayHelloTo方法帶有一個參數,向誰問候時需要知道是在問候誰。在調用SayHelloTo(“張三”)時要傳入參數。這些代碼和java、C#都沒有什麼太大區別。在方法重載上卻有較大改變,javascript本身並不支援什麼重載,一個方法名就對應一個方法。如果強制的寫出多個同名方法,其實會出現先寫的方法被覆蓋掉的情況。

function Hello() {
       alert("hello , everybody!");
     };

     Hello();

     function Hello(somebody) {
       alert("hello , " + somebody + "!");
     };

     Hello("張三");

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.