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關鍵字;

      構造函數沒有返回值,工廠模式需要返回值;

 

今天就這樣,明天續更。。。。

來源:itnose

上一篇: 20個為前端開發者準備的文檔和指南

下一篇: require'??榛痡query和angular問題

分享到: 更多
pk10五码技巧规律 内蒙古时时开奖视频下载 北京pk赛车开奖网站 彩无敌计划手机版软件 谁有极速快三大小技巧啊 玩通比牛牛怎样才会赢 pt电子吧 冰球突破11个红人多少倍 二八杠棋牌玩法 体彩时时彩技巧稳赚 贝斯特全球最奢游戏手机app 重庆时时彩和历史记录 重庆时时app下载 四川时时走势图开奖结果查询 北赛车pk10官网 七乐彩所有开奖历史