zoukankan      html  css  js  c++  java
  • javascript对象(1)

    今天说面向对象,嗯,不是那个对象,是这个对象。

    接下来就开始今天的内容:

    什么是面向对象:

      就是把数据及数据的操作方法放在一起,作为一个相互依存的整体----对象。对同类对象抽象出其共性,形成类。

      类中的大多数据,只能用本类的方法进行处理。类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。程序流程由用户在使用中决定。

    名词解释:

      基于对象:一切皆对象,以对象的概念来编程。

      面向对象编程:

        对象:就是人们要研究的事物,不仅能表示具体事物,还能表示抽象的规则,计划或事件。

           属性的无序集合,每个属性可以存一个值(原始值,对象,函数)

        对象的属性和行为

           属性:用数据值来描述他的状态

           行为:用来改变对象行为的方法

        

           具有相同或相似的性质的对象的抽象就是类。对象的抽象,就是类。累的具体化就叫做对象。

    说了面向对象,就说一下面向过程

        自顶向下顺序执行,逐步求精;其程序结构是按功能划分为若干个基本模块,这些模块形成一个树状结构;各模块之间的关系尽可能简单,在功能上相对独立;

        每一模块内部均是由顺序、选择和循环三种基本结构组成;

        其模块化实现的具体方法就是使用程序。程序流程写在程序是就已决定。

    说了这么多概念性的问题,还是有点模糊,下面来写相关对象的一届方法:

      1、创建对象

        (1)直接量

          不如创建一个狗狗的对象,代码如下:       

           var dog = {
              //添加name属性   name :
    "Td",
              //添加叫的方法 say :
    function (){ document.write("汪汪汪"); } }

        (2)工厂模式      

     1      <script>
     2             //用工厂模式,先要确定创建对象的属性和方法
     3             //列如:创建摩拜单车,先要确定其属性和方法
     4             //属性:名字   价钱  二维码   颜色  锁
     5             //方法 : 跑
     6             function createObj(name,price,code){
     7                 //创建对象
     8                 var obj = new Object();
     9                 obj.name = name;
    10                 obj.price = price;
    11                 obj.code = code;
    12                 obj.color = "yellow";
    13                 obj.run = function(){
    14                     alert(this.name+"开始出发");
    15                 }
    16                 //在对象里,要使用对象的属性或方法,要用this.属性或this.方法。
    17                 
    18                  //返回对象
    19                  return obj;
    20             }
    21             //调用工厂函数
    22             var a = createObj("摩拜单车1",1,101);
    23             var b = createObj("摩拜单车2",1,102);
    24             var c = createObj("摩拜单车3",1,103);
    25             
    26             a.run();
    27             
    28             alert(a.name + "价钱" + a.price+"元");
    29         </script>

        (3)构造函数

          

     1      <script>
     2             //构造函数   (又名   初始函数):用来创建对象的
     3             
     4             //develop:开发
     5             //【注意】1、构造函数名   第一个字母     一定要    大写  
     6             //      2、构造函数没有返回值
     7             //this : 表示当前, 指向的是自己本身
     8             
     9             function Game(name,personCount,develop){
    10                  this.name = name;
    11                  this.personCount = personCount;
    12                  this.develop = develop;
    13                  this.play = function(){
    14                      alert("我是"+this.name+"游戏"+"我的玩家数量是:"+this.personCount);
    15                  }
    16             }
    17             
    18             //构造函数不返回对象是因为   关键字new
    19             //new 关键字创建对象并返回对象
    20             var Lol = new Game("Lol","1000万","拳头");
    21             Lol.play();
    22             var Cf = new Game("cf","3亿","三星");
    23             Cf.play();
    24             //instanceof 判断一个对象他父亲是谁
    25             alert(Lol instanceof Game);
    26             //Lol instanceof Game     true
    27             //Lol instanceof Object   true
    28             
    29         </script>

       说一下构造函数和工厂模式的区别:

            构造函数名首字母大写,与工厂模式区别开;

          构造函数内部使用this关键字;

          构造函数没有返回值,工厂模式需要返回值;

    今天就这样,明天续更。。。。

  • 相关阅读:
    《复杂网络环境下访问控制技术》读书笔记(2)
    《复杂网络环境下访问控制技术》读书笔记(1)
    20199319《网络攻防实践》假期作业
    云班课实验补充
    20199319 缓冲区溢出漏洞试验
    20199319《Linux内核原理与分析》第十二周作业
    20199319《Linux内核原理与分析》第十一周作业
    图书管理系统UML建模
    《深入理解计算机系统(第三版)》第二章学习总结
    2019-2020-1 20199319《Linux内核原理与分析》第九周作业
  • 原文地址:https://www.cnblogs.com/user-5253/p/7067432.html
Copyright © 2011-2022 走看看