Time of Update: 2017-01-19
介紹命令模式(Command)的定義是:用於將一個請求封裝成一個對象,從而使你可用不同的請求對客戶進行參數化;對請求排隊或者記錄請求日誌,以及執行可撤銷的操作。也就是說改模式旨在將函數的調用、請求和操作封裝成一個單一的對象,然後對這個對象進行一系列的處理。此外,可以通過調用實現具體函數的對象來解耦命令對象與接收對象。本文我們來通過車輛購買程式來展示這個模式,首先定義車輛購買的具體操作類:複製代碼 代碼如下:$(function () { var
Time of Update: 2017-01-19
本文執行個體講述了JavaScript類比重力狀態下拋物運動的方法。分享給大家供大家參考。具體分析如下:這段JavaScript代碼類比重力狀態下的拋物運動,可設定以下參數:橫向初速度、縱向初速度、重力加速度(如果這個加速度是一個隨時間變化的值,就能達到其他非勻加速運動的效果了)、動畫間隔時間等,相對專業<!doctype html><html><head><title>js拋物運動</title><meta
Time of Update: 2017-01-19
介紹代理,顧名思義就是協助別人做事,GoF對代理模式的定義如下:代理模式(Proxy),為其他對象提供一種代理以控制對這個對象的訪問。代理模式使得代理對象控制具體對象的引用。代理幾乎可以是任何對象:檔案,資源,記憶體中的對象,或者是一些難以複製的東西。本文我們來舉一個簡單的例子,假如dudu要送優酪乳小妹玫瑰花,卻不知道她的連絡方式或者不好意思,想委託大叔去送這些玫瑰,那大叔就是個代理(其實挺好的,可以扣幾朵給媳婦),那我們如何來做呢?複製代碼 代碼如下:// 先聲明美女對象var girl =
Time of Update: 2017-01-19
介紹裝飾者提供比繼承更有彈性的替代方案。 裝飾者用用於封裝同介面的對象,不僅允許你向方法添加行為,而且還可以將方法設定成原始對象調用(例如裝飾者的建構函式)。裝飾者用於通過重載方法的形式添加新功能,該模式可以在被裝飾者前面或者後面加上自己的行為以達到特定的目的。本文那麼裝飾者模式有什麼好處呢?前面說了,裝飾者是一種實現繼承的替代方案。當指令碼運行時,在子類中增加行為會影響原有類所有的執行個體,而裝飾者卻不然。取而代之的是它能給不同對象各自添加新行為。如下代碼所示:複製代碼
Time of Update: 2017-01-19
本文執行個體講述了javascript實現複選框超過限制即彈出警告框的方法。分享給大家供大家參考。具體實現方法如下:<html><title>javascript實現複選框超過限制即彈出警告框的方法</title><body><SCRIPT LANGUAGE="JavaScript"><!--//function countChoices(obj) {max = 2;box1 =
Time of Update: 2017-01-19
本文執行個體講述了javascript實現映像迴圈明暗變化的方法。分享給大家供大家參考。具體如下:<SCRIPT language=JavaScript>var d=0function JM_fade(ob){if (d==0) {ob.filters.alpha.opacity+=1}else {ob.filters.alpha.opacity-=1}if (ob.filters.alpha.opacity==100){d=1;}else if (ob.filters.alpha.
Time of Update: 2017-01-19
String對象提供的方法用於處理字串及字元。 常用的一些方法:charAt(index):返回字串中index處的字元。 indexOf(searchValue,[fromIndex]):該方法在字串中尋找第一次出現的searchValue。如果給定了fromIndex,則從字串內該位置開始搜尋,當searchValue找到後,返回該串第一個字元的位置。
Time of Update: 2017-01-19
本文執行個體講述了JavaScript產生的動態下雨背景效果實現方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:<HTML><HEAD><TITLE>JavaScript產生的動態下雨背景效果</TITLE></HEAD><BODY bgcolor="#fef4d2" ><center><script language=JavaScript><!-- [Step1]:
Time of Update: 2017-01-19
擷取某個月份的天數相信大家讀小學的時候就知道一年十二個月各有多少天了,這裡面有個特殊的存在——2月。閏年的2月有29天,非閏年的2月只有28天。估計不少人跟我一樣,已經不記得閏年的規則了,這時候,下面的這個方法就派上用場了。複製代碼 代碼如下:var date = new Date(2013, 2, 0);date.getDate(); // 28date = new Date(2012, 2, 0);date.getDate(); //
Time of Update: 2017-01-19
判斷某個對象是否是數組: instanceof、Array.isArray()對於一個網頁或者一個全域範圍可以使用instanceof操作符。if(value instanceof Array){ //判斷value是否是數組
Time of Update: 2017-01-19
假設有這樣一個動畫功能需求:把一個div的寬度從100px變化到200px。寫出來的代碼可能是這樣的:複製代碼 代碼如下:<div id="test1" style="width: 100px; height: 100px; background: blue; color: white;"></div>function animate1(element, endValue, duration) { var startTime =
Time of Update: 2017-01-19
Handlebars 是一個 JavaScript 頁面模板庫,協助你輕鬆的構建語義化模板。複製代碼 代碼如下:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>handlebars</title><meta http-equiv="keywords"
Time of Update: 2017-01-19
什麼是Dom?1.簡介 文件物件模型(Document Object Model,簡稱DOM),是W3C組織推薦的處理可擴充標誌語言的標準編程介面。Document Object
Time of Update: 2017-01-19
使用方式1.建立運算式 JavaScript中建立Regex類的方法:var regex = new RegExp(“\\d{5}”) 或者 2.var regex = / \d{5} /(推薦)/運算式/是JavaScript中專門為簡化Regex編寫而提供的文法,寫在//中的Regex就不用管轉義符了。RegExp對象的方法:2.判斷是否匹配 test(str)判斷字串str是否匹配Regex,相當於IsMatch複製代碼
Time of Update: 2017-01-19
第一種方法/**@desc:產生隨機字串*@remark:toString方法可以接收一個基數作為參數的原理,這個基數從2到36封頂。如果不指定,預設基數是10進位*/function generateRandomAlphaNum(len) { var rdmString = ""; for (; rdmString.length < len; rdmString += Math.random().toString(36).substr(2)); return
Time of Update: 2017-01-19
單擊一個超連結觸發事件1.用a標籤的onclick<a href="#" onclick="js代碼">這種寫法呢,存在一種弊端,就是點擊後會重新整理一次頁面,回到頁面頂端。想不重新整理如何做的呢?複製代碼 代碼如下:<a href="javascript:void(0)"
Time of Update: 2017-01-19
計時器基本格式:複製代碼 代碼如下:setInterval(function(){代碼},1000);/*說明:1.setInterval 會返回一個計時器ID值 可以這樣接收。var setId = setInterval(....); 2.接收setId的目的是為了清空計時器。 clearTimeout(setId);*/例如一次性的計時器格式:複製代碼
Time of Update: 2017-01-19
本文執行個體講述了JavaScript檢測瀏覽器cookie是否已經啟動的方法。分享給大家供大家參考。具體分析如下:JavaScript檢測瀏覽器cookie是否已經啟動,代碼稍顯複雜,通過寫入一個測試cookie判斷cookie是否已經啟動var dt = new Date(); dt.setSeconds(dt.getSeconds() + 60); document.cookie = "cookietest=1; expires=" + dt.toGMTString(); var
Time of Update: 2017-01-19
對於跟我一樣,自學javascript且沒有其他語言學習經驗的人來說,一開始的時候,javascript的調試也是一個比較大的痛點,很多基礎的東西都需要自己去摸索,這個過程是非常苦悶的。想著趁機會將上面那篇閉包博文的配圖用firebug再來示範一遍,也算是一點調試經驗分享。範例程式碼如下:複製代碼 代碼如下:function fn(){ var max = 10; return function bar(x){ if (x > max)
Time of Update: 2017-01-19
介紹迭代器模式(Iterator):提供一種方法順序一個彙總對象中各個元素,而又不暴露該對象內部表示。迭代器的幾個特點是:1.訪問一個彙總對象的內容而無需暴露它的內部表示。2.為遍曆不同的集合結構提供一個統一的介面,從而支援同樣的演算法在不同的集合結構上進行操作。3.遍曆的同時更改迭代器所在的集合結構可能會導致問題(比如C#的foreach裡不允許修改item)。本文一般的迭代,我們至少要有2個方法,hasNext()和Next(),這樣才做做到遍曆所有對象,我們先給出一個例子:複製代碼