JavaScript語言——對象

來源:互聯網
上載者:User
  //對象
//在這裡我們定義了一個貓對象,它包含一個名字屬性,一個大笑聲屬性,和一個哭的方法。
var Cat={//定義一個貓對象
    name:'Persian',    //它叫波斯貓
    lol:(function(){//定義一個大聲笑的聲音
        var s='meow';
        return s+'...'+s+' ';
    })(),//注意這裡()立即執行方法,返回叫聲賦給lol
    cry:function(){//定義一個哭的方法
        var s='wuuu';
        return this.name+' 哭了:'+s+'...'+s+' ';//這裡是一個閉包
    }
};
//下面我們來看看效果
document.write(Cat.name+' 高興時的叫:'+Cat.lol +' '+Cat.cry() +"</br>");
/*輸出
Persian 高興時的叫:meow...meow Persian 哭了:wuuu...wuuu 
*/

//構造器
//定義一個老鼠的構造器
var Mouse=function(name){
    this.name=name||'老鼠嘍囉';//建構函式以this關鍵字區分於函數
}
/*
var mouse=Mouse('Mickey');    //錯誤的執行個體化,忘記了加new關鍵字
document.write(mouse);        //undefined   未定義,因為方法沒有任何返回
document.write(name);        //會輸出Mickey,因為錯誤的忘了加new關鍵字,導致定義的是一個方法,而這個方法Mouse('Mickey')執行後導致this.name=name,name變成了全域成員了。
*/
var Animal={//定義動物對象
    run:function(){ alert('running!');    }
}
Mouse.prototype=Animal;//原型(繼承)動物對象
var Mi=new Mouse('Mickey');//構造的是米老鼠
document.write(Mi.name);//Mickey 
Mi.run();//調用父類run的方法,跑起來。

相關文章

聯繫我們

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