国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript設計模式之構造函數模式實例教程

2019-11-19 13:34:32
字體:
來源:轉載
供稿:網友

本文實例講述了JavaScript設計模式之構造函數模式。分享給大家供大家參考,具體如下:

一、構造函數模式概念

構造函數用于創建特定類型的對象――不僅聲明了使用過的對象,構造函數還可以接受參數以便第一次創建對象的時候設置對象的成員值。你可以自定義自己的構造函數,然后在里面聲明自定義類型對象的屬性或方法。

在JavaScript里,構造函數通常是認為用來實現實例的,JavaScript沒有類的概念,但是有特殊的構造函數。通過new關鍵字來調用自定義的構造函數,在構造函數內部,this關鍵字引用的是新創建的對象。

二、構造函數模式的作用和注意事項

模式作用:

1.用于創建特定類型的對象

2.第一次聲明的時候給對象賦值

3.自己聲明構造函數,賦予屬性和方法

注意事項:

1.聲明函數的時候處理業務邏輯

2.區分和單例的區別,配合單例實現初始化

3.構造函數大寫字母開頭

三、構造函數模式代碼和實戰總結

<!DOCTYPE html><html><head lang="en">  <meta charset="UTF-8">  <title>構造函數模式</title></head><body><!--<script>  function Car(model,year,miles){    if(!(this instanceof Car)){      return new Car(model,year,miles);    }    this.model = model;    this.year = year;    this.miles = miles;    this.output = function(){      return this.model + "走了" + this.miles + "公里";    }  }  var tom = new Car("大叔",2009,20000);  var dudu = Car("Dudu",2010,5000);  console.log(typeof tom);  console.log(tom.output());  console.log(typeof dudu);  console.log(dudu.output());</script>--><script>  //1.用于創建特定類型的對象  //2.這樣的函數名會被人笑話  //3.js開發的時候寫單引號  //4.js里構造函數比較特殊的地方 new  //5.其他的語言里 比如PHP 里人家實現 有一個關鍵字 A class  //6.zaomen就是構造函數 他又充當了類的概念  var AA = {    zaomen:function(huawen) {      if (!(this instanceof AA.zaomen)) {        console.log(123);        return new AA.zaomen(huawen);      };      var _huawen = "普通";      if (huawen) {        _huawen = huawen;      }      this.suo = "普通";      this.huawen = _huawen;      this.create = function () {        return "【鎖頭】" + this.suo + "【花紋】" + this.huawen;      }    }  };  var BB = {    zaomen:function(huawen,suo) {      if (!(this instanceof BB.zaomen)) {        return new BB.zaomen(huawen,suo);      };      var _huawen = "普通";      if (huawen) {        _huawen = huawen;      }      this._suo = "普通";      if (suo) {        _suo = suo;      }      this.suo = _suo;      this.huawen = _huawen;      this.create = function () {        return "【鎖頭】" + this.suo + "【花紋】" + this.huawen;      }    }  };  /*function zaomen(huawen){    if(!(this instanceof zaomen)){      return new zaomen();    }    var _huawen = "普通";    if(huawen){      _huawen = huawen;    }    this.suo = "普通";    this.huawen = _huawen;    this.create = function(){      return "【鎖頭】" + this.suo + "【花紋】" + this.huawen;    }  }*/  var xiaozhang = AA.zaomen();  alert("xiaozhang" + xiaozhang.create());  var xiaoli = BB.zaomen("絢麗",'123');  alert("xiaoli" + xiaoli.create());</script></body></html>

使用在線HTML/CSS/JavaScript代碼運行工具 http://tools.VeVB.COm/code/HtmlJsRun測試運行效果如下:

更多關于JavaScript相關內容可查看本站專題:《javascript面向對象入門教程》、《JavaScript切換特效與技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新和县| 互助| 五河县| 松潘县| 且末县| 象山县| 类乌齐县| 颍上县| 普格县| 江达县| 喀喇沁旗| 中阳县| 依安县| 邵阳县| 蕲春县| 舒城县| 灵台县| 青川县| 峡江县| 西畴县| 乌拉特中旗| 诏安县| 三江| 喀喇沁旗| 张家港市| 巧家县| 囊谦县| 班玛县| 西贡区| 大厂| 鹤岗市| 讷河市| 八宿县| 云阳县| 呼和浩特市| 岚皋县| 彭泽县| 台北县| 唐山市| 土默特左旗| 五大连池市|