快速创建JavaScript面向对象

作者: 不详 2012/5/10 14:09:39
        对于一个开发者而言,决定你职业生涯的就是能否写出优雅的代码。随着像Node.js这类技术的发展,我们甚至可以在服务器端使用JavaScript了。同样的,你也可以使用JavaScript来控制MongoDB的持续数据存储。那么如何创建avaScript对象呢?

         潜意识里,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();

        当然,这只是比较初级入门的讲解,OO JS还有很多内容可以讲的,不过初学的同志们可以看一看,仅供参考啊~

 

特别推荐

玩家留言 跟帖评论
查看更多评论