JavaScript創建對象的幾種方式

潛意識裏,JavaScript不能算是面向對象的語言,要算也只能說是趨向面向對象的一種語言,至少它不能很好的吻合面向對象最基本的三大特性(繼承、封裝、多態),當然有很多人就認爲JavaScript是面嚮對象語言,好像也說得沒錯,因爲面向對象也能在JavaScript中實現,比如說繼承、封裝吧也都可以在JavaScript中實現,但是實現方便嗎?所以我覺得很疑惑。看到網上有一網友評價的很好,"面向對象只是一種思想,語言只能說是否很好的支持面向對象的特性。"如果對面向對象有一定的認識,用C也能寫出面向對象的程序,javascript也是如此。所以說不能斷言說JavaScript是面嚮對象語言, 呵呵,自認爲是菜鳥,不敢妄自斷言,還是看看代碼:
1. 利用json創建對象
var company = {};
company.name= '華爲';
company.address = '北京';
company.produce = function(message)
{
alert(message);
}
2.使用JavaScript中的Object類型
company= new Object();
company.name= '淘寶';
company.address = '杭州';
company.produce= function(message)
{
alert(message);
}
3.通過創建函數來生成對象
company = function()
{
this.name = '新浪';
this.address = '北京';
this.produce = function(message)
{
alert(message);
}
}
4.利用瀏覽器window對象
window.name = '騰訊';
window.address = '北京';
window.produce = function(message)
{
alert(message);
}

擴展:
1.對象複製
emptyObject = new Object();
company.apply = function(o, c,)
{
if(o && c && typeof c == 'object')
{
for(var p in c)
{
o[p] = c[p];
}
}
return o;
};
emptyObject = Ext.apply(emptyObject,company);
2.對象複製(函數方式)
var copyOO = new Function();
copyOO.prototype = company;
var newcopyOO = new copyOO();
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章