JS設計模式學習筆記一:物件收編變數 檢測類
1.1函式基本形式(全域性變數)
function checkName(){ //驗證姓名
}
function checkEmail(){ //驗證郵箱
}
function checkPassword(){ //驗證密碼
}
1.2函式的另一種形式 (全域性變數)
var checkName =function(){ //驗證姓名
}
var checkEmail = function(){ //驗證郵箱
}
var checkPassword=function(){ //驗證密碼
}
上面聲明瞭多個函式也就是多個全域性變數,當多人協作時,如果別人也定義了同樣的方法或者自己定義了很多方法,就容易存在被覆蓋的風險,且這種相互覆蓋的問題是不容易察覺的。所以可以將它們放在一個變數裡儲存,這樣就可以減少覆蓋或被覆蓋的風險,當然一旦被覆蓋所有的功能都會失效,但這種現象很明顯也容易察覺。
1.3 用物件收編變數:
可以建立一個檢測物件,然後把函式方法放在裡面:
var CheckObject={
checkName: function(){ //驗證姓名
},
checkEmail:function(){ //驗證郵箱
},
checkPassword:function(){ //驗證密碼
}
}
這裡我們將所有函式作為CheckObject 物件的方法,這樣我們就只有一個物件,而我們要想使用它們也很簡單,比如檢測姓名CheckObejct.checkName(),只是在我們原來使用的函式式前面多了個物件名稱。
1.4 物件的另一種形式:
在JS中函式也是一種物件,所以可以有如下寫法:
var CheckObject = function(){};
CheckObject.checkName = function(){
//驗證姓名
}
CheckObject.checkEmail = function(){
//驗證郵箱
}
CheckObject.checkPassword=function(){
//驗證密碼
}
使用和前面的方式是一樣的,比如CheckObject.checkName(),但這個物件類在用new 關鍵字建立新的物件時,新建立的物件是不能繼承這些方法的。
1.5 真假物件
如果想簡單得複製物件,可以將這些方法放在一個函式物件中:
var CheckObject = function(){
return {
checkName:function(){
//驗證姓名
},
checkEmail:function(){
//驗證郵箱
},
checkPassword:function(){
//驗證密碼
}
}
}
var a = CheckObject();
a.checkEmail();
相關推薦
JS設計模式學習筆記一:物件收編變數 檢測類
1.1函式基本形式(全域性變數) function checkName(){ //驗證姓名 } function checkEmail(){ //驗證郵箱 } function checkPasswo
Android設計模式學習筆記|一|面向物件的六大原則
單一職責原則、開閉原則、里氏替換原則、依賴倒置原則、介面隔離原則、迪米特原則。 一、單一職責原則(Single Responsibility Principle SRP) 定義:就一個類而言,應該就有一個引起它變化的原因。簡單來說,一個類中應該是一組相關性很高的函式、資料
Koa.js 設計模式-學習筆記
前言 之前寫過一本《Koa2進階學習筆記》作為Koa的入門教程。很多知識點都是一筆帶過,沒有深入的講解。這一本書是通過Koa.js的常用中介軟體實現原理,舉一反三來講解一些Node.js在Web開發過程中的原理和設計模式。 Koa.js 是一個極其精簡的Web框架,只提供
Java設計模式學習筆記(一) 設計模式概述
前言 大約在一年前學習過一段時間的設計模式,但是當時自己的學習方式比較低效,也沒有深刻的去理解、運用所學的知識. 所以現在準備系統的再重新學習一遍,寫一個關於設計模式的系列部落格. 廢話不多說,正文開始. 1. 設計模式是什麼 設計模式是一套被反覆使用、多數人知曉的、經過分類編目的、程式碼設計經驗的總結,使用
基本設計模式學習筆記:(一)常見的七種面向物件設計原則
0.概述 面向物件設計原則為支援可維護性複用而誕生,這些原則蘊含在很多設計模式中,他們是從許多設計方案中總結出來的指導性原則1.單一原則 一個類只負責一個功能領域中的相應職責,或者說:就一個類而言,應該只有一個引起它變化的原因。個人總結:將不同職責的方法放在
C#.Net 設計模式學習筆記之創建型 (一)
應用 種類 單件 src nag abstract 子類 指定 相關 1、抽象工廠(Abstract Factory)模式 常規的對象創建方法: //創建一個Road對象 Road road =new Road(); new 的問題: 實現依賴,不能應對“具
設計模式學習筆記 C#代碼(一)
內容 編程 繼承 color 模式 c# 派生類 ive spa 《深入淺出設計模式》學習筆記第一章 原始需求和設計 事情是這樣開始的,公司需要做一套程序,鴨子,設計如下: 一個鴨子父類,多個派生類,三個可override的方法。 第一次需求變更 我們要會飛的鴨子!!!!
java設計模式學習筆記(一)--- 建立型模式
文章目錄 簡介 設計模式所遵循的幾個原則 一、工廠方法模式 簡單工廠模式 工廠方法模式 抽象工廠模式 工廠模式小結 單例模式 單例模式小結 建造者模式
Android設計模式學習筆記第一章-----面向物件的6大原則
一、單一職責原則 說明:每一個類中的屬性及方法都具有與這個類強相關的特點。如需要構建一個影象快取的功能,根據UML圖完成設計,則需要構建一個影象快取的類ImageCache,和一個影象載入的類ImageLoad。如果把這兩個類的功能共同放到影象快取類ImageCache中,
JAVA設計模式學習筆記(一)
2018年11月03日 12:14:18 築夢^_^ 閱讀數:6 個人分類: JAVA
【設計模式學習筆記】空物件模式
空物件模式:一個空物件取代 NULL 物件例項的檢查。Null 物件不是檢查空值,而是反應一個不做任何動作的關係。這樣的 Null 物件也可以在資料不可用的時候提供預設的行為。【菜鳥】 文章目錄 1.1 抽象物件及對應的繼承類。
設計模式學習筆記-適配器模式(對象適配器)
ring ons col class pat ima pub 不兼容 public 一、概述 將一個類的接口轉換為客戶希望的另外一個接口。Adapter模式使得原本由於接口不兼容而不能一起工作的那些類可以一起工作; 二、模式中的角色 Target:定
設計模式學習筆記-橋接模式
學習 write images 基礎 abs 分離 對象 bsp uml 一、概述 將抽象部分與它的實現部分分離,使它們都可以獨立地變化。 二、模式中的角色 Abstraction:定義抽象類的接口;維護一個指向Implementor類型對象的指針;
設計模式學習筆記(二) 設計基本原則之【單一職責原則】
code 分享 開發者 實際應用 需要 ret ext file類 tor 單一職責原則(SRP: Single Responsibility Principle) 名詞解釋: 1) 職責:是指類變化的原因。 2) 職責擴散:就是因為某種原因,職責P被分化為粒度更細的職責P
Java 設計模式學習筆記1——策略模式(Duck例子)
利用 實例化 top 而是 實現 學習筆記 left ng- 多個 0、假設現有工程(Duck)中遇到為類添加功能的問題,如何設計類添加新的功能? 1、利用繼承提供的Duck(鴨子)的行為會導致哪些缺點? (1)代碼在多個子類中重復 (2)很多男知道所有鴨子的全部行為
設計模式學習筆記
開發 新的 check cal n) prot family 書寫 末尾 一、JS靈活性 1、在團隊開發中,為了減少方法覆蓋或者被覆蓋,我們可以用一個變量來保存這些方法和屬性; 示例: var checkObject = { checkName = function()
Java設計模式學習筆記,三:建造者模式
() stat sys pri builder 統一 return tengine str 建造者模式:實現了構建和裝配的解耦,即對象的各個子組件單獨構建,再進行裝配,從而建造完整對象。 該模式適用於構建較為復雜的對象(多個子組件)。 不同的構建者,使用相同的裝配者,可以建
設計模式學習(一)-概述
項目 site 相對 實體 pattern 需要 gre 維護 pri 設計模式(Design Patterns) ——可復用面向對象軟件的基礎 設計模式(Design pattern)是一套被反復使用、多
設計模式學習筆記-原型模式
都是 tde 淺復制 posit osi 訪問 oid urn public 1. 概述 通過復制一個已經存在的實例來創建一個新的實例。被復制的實例被稱為原型,這個原型是可定制的。 2. 模式中的角色 2.1 抽象原型類(Abstract Prototype)
設計模式學習筆記(二)--簡單工廠模式和工廠模式
bsp bubuko rac oid nds gen body () pri 老生長談的兩個設計模式了,這裏把這兩個設計模式對比著來總結一下。 什麽是簡單工廠模式? 簡單工廠模式:根據傳入工廠類的參數動態決定要創建哪一個產品類的實例。 UML圖如下(以實現一個計算器為例):