當前位置:成語大全網 - 書法字典 - 討論javascript是否是面向對象的語言。

討論javascript是否是面向對象的語言。

1它有對象,可以包含數據和處理數據的方法。對象可以包含其他對象。他沒有壹個類(在javascript2.0實際實現之前),但它有壹個構造函數,可以做類能做的事情,包括充當變量和方法的容器和角色。他沒有基於類的繼承,但是有基於原型的繼承。構建對象系統的兩種方式是通過繼承和通過聚合。JavaScript兩者都有。

壹些批評家說javascript不是真正面向對象的,因為它不能提供信息隱藏。也就是說,壹個對象不能有私有變量和私有方法:所有成員都是公共的。但是後來證明了javaScript對象可以有私有變量和私有方法。也有批評說javascript不能提供繼承,但後來證明javascript不僅可以支持傳統繼承還可以應用其他代碼重用模式。

說javascript是壹種基於對象的語言是正確且略顯保守的判斷,但說javascript不是面向對象的則是錯誤的認知。事實上,有充分的理由證明javaScript是壹種面向對象的語言,但與傳統的基於類的面向對象相比,javaScript有其獨特性,我們稱之為基於原型的面向對象。

-

因為js是弱類型語言,不像c++和C #!他不支持函數方法重載。如果妳之前寫了壹個方法,之後又寫了壹個同名的方法,他會默認覆蓋最後壹個方法!這種情況和PHP裏壹樣!

不像C#等支持函數重載的語言,他根據不同的參數和返回值調用不同的方法!

關於JS是不是面向對象,也不完全是面向對象。也可以寫成類、方法、屬性,但是和其他語言略有不同!例如

var cls={

我的:{a:0},

init:函數()

{

alert(this . my . a);

}

};

window.onload=function()

{

cls . init();

}

調用cls . init();

這是他的類,但是缺少很多面向對象的特性。樓上很清楚!所以他不是完全面向對象的。

面向對象只是壹種思維方式,壹種解決問題的方式!