Time of Update: 2017-01-18
有的時候在開發過程中,我們會發現,用戶端需要的介面和提供的介面發生不相容的問題。由於特殊的原因我們無法修改用戶端介面。在這種情況下,我們需要適配現有介面和不相容的類,這就要提到適配器模式。通過適配器,我們可以在不用修改舊代碼的情況下也能使用它們,這就是適配器的能力。適配模式可用來在現有介面和不相容的類之間進行適配,使用這種模式的對象又叫封裝器(wrapper),因為它們是在用一個新的介面封裝另一個對象。從表面上看,適配器模式很像面板模式。它們都要對別的對象進行封裝並改變其呈現的介面。二者的差別在
Time of Update: 2017-01-18
橋接模式將抽象部分與實現部分分離開來,使兩者都可以獨立的變化,並且可以一起和諧地工作。抽象部分和實現部分都可以獨立的變化而不會互相影響,降低了代碼的耦合性,提高了代碼的擴充性。按照GoF的定義,橋接模式的作用在於“將抽象與其實現隔離開來,以便二者獨立變化”。這種模式對於Javascript中常見的事件驅動的編程大有裨益。橋接模式最常見和實際的應用場合之一是事件監聽器回呼函數。
Time of Update: 2017-01-18
sessionStorage 、localStorage 和 cookie 之間的共同點:都是儲存在瀏覽器端,且同源的。sessionStorage 、localStorage 和 cookie
Time of Update: 2017-01-18
1.四種瀏覽器對 document.body 的 clientHeight、offsetHeight 和 scrollHeight 的解釋。這四種瀏覽器分別為IE(Internet Explorer)、NS(Netscape)、Opera、FF(FireFox)。clientHeight大家對 clientHeight 都沒有什麼異議,都認為是內容可視地區的高度,也就是說頁面瀏覽器中可以看到內容的這個地區的
Time of Update: 2017-01-18
這裡示範如何利用PowerShell將一段Javascript函數字串交給Jint引擎去執行。執行Javascript函數.Net版的Javascript解譯器可以從Git上擷取Jint的代碼,也可以從nuget上下載Jint的程式集。Jint是一個面向.Net的Javascript解譯器。Jint不會把Javascript編譯成.Net位元組碼,所以它非常適用於指令碼小且運行起來速度快的工程,或者運行在不同平台上的指令碼。PowerShell調用拿到Dll根據-Path參數直接使用Add-Ty
Time of Update: 2017-01-18
以下內容會分為如下小節:1.call/apply/bind方法的來源2.Function.prototype.call()3.Function.prototype.apply() 3.1:找出數組中的最大數 3.2:將數組的空元素變為undefined 3.3:轉換類似數組的對象4.Function.prototype.bind()5.綁定回呼函數的對象6.call,apply,bind方法的聯絡和區別1.call/apply/bind方法的來源首先,在使用call,apply,bind方
Time of Update: 2017-01-18
Array.prototype.reduce()概述reduce()方法是數組的一個執行個體方法(共有方法),可以被數組的執行個體對象調用。reduce() 方法接收一個函數作為累加器(accumulator),數組中的每個值(從左至右)開始縮減,最終為一個值。文法arr.reduce(callback[, initialValue])
Time of Update: 2017-01-18
這些網站都是個人學習過程中搜集的一些js網站,其中大部分是國外的(國內資源相對還是很少啊),感覺內容都不錯,而且一些資源的更新都比較快,希望對各位朋友能有所協助。學習資源:http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Referencehttp://www.w3schools.com/js/default.asphttp://eloquentjavascript.net/http://www.quirksmode.org/js/
Time of Update: 2017-01-18
在Javascript中,單例模式是一種最基本又經常用到的設計模式,可能在不經意間就用到了單例模式。本文將從最基礎的理論開始,講述單例模式的基本概念和實現,最後用一個例子來講述單例模式的應用。理論基礎概念單例模式,顧名思義就是只有一個執行個體存在。通過單例模式可以保證系統中一個類只有一個執行個體而且該執行個體易於外界訪問,從而方便對執行個體個數的控制並節約系統資源。如果希望在系統中某個類的對象只能存在一個,單例模式是最好的解決方案。基本結構最簡單的單例模式起始就是一個對象字面量,它將有關聯的屬性
Time of Update: 2017-01-18
建立日期Date 對象用於處理日期和時間。 可以通過 new 關鍵詞來定義 Date 對象。以下代碼定義了名為 myDate 的 Date 對象:有四種方式初始化日期:new Date() // 當前日期和時間new Date(milliseconds) //返回從 1970 年 1 月 1 日至今的毫秒數new Date(dateString)new Date(year, month, day, hours, minutes, seconds,
Time of Update: 2017-01-18
歡迎您繼續學習Javascript進階教程。在此之前我們已經學習了Javascript初級教程。在這一階段的學習中我們將繼續學習在上次的教程中還沒有來得及談及的問題。我還將向你們展示Javascript的許多神奇功能,使你能夠製作真正對多媒體應用程式。 以下是我們將涉及的內容: 給變數賦值 If-then語句
Time of Update: 2017-01-18
Array.prototype.forEach()方法讓數組的每一項都執行一次給定的函數。 — MDN假設有這麼一個情境,你拿到了這麼一個數組[ { symbol: "XFX", price: 240.22, volume: 23432 }, { symbol: "TNZ", price: 332.19, volume: 234 }, { symbol: "JXJ", price: 120.22, volume: 5323
Time of Update: 2017-01-18
今日學習解析json字串,用到了一個eval()方法,解析字串的時候為什麼需要加上括弧呢?摸不著頭腦。原來javascript中{}語句塊具有二義性,不加括弧會出錯,理解這種二義性對我們理解javascript代碼有極大協助。一、{}語句塊的兩個含義表示語句塊a. 在javascript中可以使用{}來括起代碼,在編輯器中方便管理代碼。因為javascript並沒有塊級範圍,所以這種寫法是無害的。{//some code...}b. 在javascript中
Time of Update: 2017-01-18
什麼是Backbone.js?Backbone.js是十大JS架構之首,Backbone.js 是一個重量級js MVC 應用程式框架,也是js MVC架構的鼻祖。它通過Models資料模型進行索引值綁定及custom事件處理,通過模型集合器Collections提供一套豐富的API用於枚舉功能,通過視圖Views來進行事件處理及與現有的Application通過JSON介面進行互動。簡而言之,Backbone是實現了web前端MVC模式的js庫什麼是MVC?MVC:後端伺服器首先(
Time of Update: 2017-01-18
今天討論的新特性讓我非常興奮,因為這個特性是 ES6 中最神奇的特性。這裡的“神奇”意味著什麼呢?對於初學者來說,該特性與以往的 JS 完全不同,甚至有些晦澀難懂。從某種意義上說,它完全改變了這門語言的通常行為,這不是“神奇”是什麼呢。不僅如此,該特性還可以簡化程式碼,將複雜的“回調堆棧”改成直線執行的形式。我是不是鋪墊的太多了?下面開始深入介紹,你自己去判斷吧。簡介什麼是 Generator?看下面代碼:function* quips(name) { yield "hello " +
Time of Update: 2017-01-18
建立一個字串有幾種方法。最簡單的是用引號將一組字元包含起來,可以將其賦值給一個字串變數。 var myStr = "Hello, String!"; 可以用雙引號或單引號將字串包含,但要注意,作為界定字串的一對引號必須是相同的,不能混用。 像var myString = "Fluffy is a pretty cat.';
Time of Update: 2017-01-18
什麼是對象JavaScript 中的所有事物都是對象,如:字串、數值、數組、函數等,每個對象帶有屬性和方法。對象的屬性:反映該對象某些特定的性質的,如:字串的長度、映像的長寬等;對象的方法:能夠在對象上執行的動作。例如,表單的“提交”(Submit),時間的“擷取”(getYear)等;JavaScript 提供多個內建對象,比如 String、Date、Array 等等,使用對象前先定義,如下使用數組對象:var objectName =new
Time of Update: 2017-01-18
JavaScript 函數調用JavaScript 函數有 4 種調用方式。每種方式的不同方式在於 this 的初始化。this 關鍵字一般而言,在Javascript中,this指向函數執行時的當前對象。Note 注意 this 是保留關鍵字,你不能修改 this 的值。調用 JavaScript 函數函數中的代碼在函數被調用後執行。作為一個函數調用執行個體function myFunction(a, b) { return a * b;}myFunction(10, 2);
Time of Update: 2017-01-18
和其它許多物件導向的語言一樣,JavaScript 中也有 this 關鍵字,this 在函數中用來指向調用此方法的對象。實際編程中要判斷 this 到底指向誰,一般可遵循以下原則: 如果該函數被 Function.call 或者 Function.apply 調用,那麼 this 指向 call/apply 的第一個參數,如果參數是 null 或者 undefined,this 則指向全域對象(在瀏覽器中的話,全域對象就是 window
Time of Update: 2017-01-18
複製代碼 代碼如下: function checkMobile(){ var sMobile = document.mobileform.mobile.value if(!(/^1[3|4|5|8][0-9]\d{4,8}$/.test(sMobile))){