亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-09-28 13:32:52 來源:腳本之家 閱讀:189 作者:CangoWu 欄目:web開發

本文實例講述了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.jb51.net/code/HtmlJsRun測試運行效果如下:

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

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

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

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

天峨县| 梁河县| 平昌县| 静安区| 卢湾区| SHOW| 琼海市| 苏州市| 保德县| 甘孜县| 徐汇区| 通城县| 宁城县| 铜梁县| 滦平县| 黄龙县| 安徽省| 新巴尔虎左旗| 南京市| 普兰店市| 盐城市| 岳阳市| 永平县| 台山市| 南阳市| 常德市| 耒阳市| 阳新县| 兰坪| 光山县| 泰来县| 叙永县| 鄂托克前旗| 任丘市| 临海市| 马边| 苍山县| 崇礼县| 吉林省| 米易县| 曲靖市|