• 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();


     

  • 相关阅读:
    abp 框架定时任务(一)
    jenkins构建maven项目:找不到本地依赖包的解决办法
    python异常处理及常用异常
    python中unittest常用断言
    python自动化中遇到问题--Assert断言失败了,但是在异常捕获了,生成测试报告却是pass的。
    python+unittest框架
    linux虚拟机内网突然不通了
    curl 命令-接口测试
    python中使用os.path.join()
    ActiveMQ消费重试机制
  • 原文地址:https://www.cnblogs.com/Komici/p/1457145.html
Copyright © 2020-2023  润新知