Time of Update: 2017-01-19
本文執行個體講述了JavaScript列表框listbox全選和反選的實現方法。分享給大家供大家參考。具體分析如下:通過JS代碼對列表框進行全選和反選是經常要操作的,非常具有實用價值。function listboxSelectDeselect(listID, isSelect) { var listbox = document.getElementById(listID); for(var count=0; count < listbox.options.length; count+
Time of Update: 2017-01-19
本文執行個體講述了JavaScript控制listbox列表框的項目上下移動的方法。分享給大家供大家參考。具體分析如下:這段JS代碼可以控制listbox內的元素向上或者向下移動,這個功能非常有用。下面是詳細的代碼複製代碼 代碼如下:function listbox_move(listID, direction) { var listbox = document.getElementById(listID); var
Time of Update: 2017-01-19
本文執行個體講述了JavaScript控制兩個列表框listbox左右交換資料的方法。分享給大家供大家參考。具體分析如下:這個功能我們經常用到,將左邊列表框的元素移動到右邊,或者將右邊列表框的元素移動到左邊,可以一次性全部移動複製代碼 代碼如下:function listbox_moveacross(sourceID, destID) { var src =
Time of Update: 2017-01-19
本文執行個體講述了JavaScript判斷一個字串是否包含指定子字串的方法。分享給大家供大家參考。具體分析如下:下面的JS代碼,為String對象定義了一個contains方法用於判斷字串是否包含子字串,非常有用。if (!Array.prototype.indexOf) { Array.prototype.indexOf = function(obj, start) { for (var i = (start || 0), j = this.length; i < j; i++
Time of Update: 2017-01-19
本文執行個體講述了JavaScript移除數組內重複元素的方法。分享給大家供大家參考。具體分析如下:這段JS代碼用於從數組中移除重複的元素,比如: ['apple', 'orange', 'peach', 'apple', 'strawberry', 'orange'] 去重後返回:s ['apple', 'orange', 'peach', 'strawberry'] 複製代碼 代碼如下:function removeDuplicates(arr) {
Time of Update: 2017-01-19
電腦編程的世界其實就是一個將簡單的部分不斷抽象,並將這些抽象組織起來的過程。JavaScript也不例外,在我們使用JavaScript編寫應用時,我們是不是都會使用到別人編寫的代碼,例如一些著名的開源庫或者架構。隨著我們項目的增長,我們需要依賴的模組變得越來越多,這個時候,如何有效組織這些模組就成了一個非常重要的問題。依賴注入解決的正是如何有效組織代碼相依模組的問題。你可能在一些架構或者庫種聽說過“依賴注入”這個詞,比如說著名的前端架構AngularJS,依賴注入就是其中一個非常重要的特性。但
Time of Update: 2017-01-19
Cookie是用戶端存放資料的一種方式,可用來做狀態保持。1.設定Cookie:a.無到期時間:(若不設定到期時間,預設為會話級Cookie,瀏覽器關閉就會失效)複製代碼 代碼如下:function setCookie(name,value) { document.cookie = name + '=' + escape(value);}b.固定到期時間:複製代碼 代碼如下:function setCookie(name,value){
Time of Update: 2017-01-19
javascript中隨處可見的callback對於流程式控制制來說是一場災難,缺點顯而易見:1.沒有顯式的return,容易產生多餘流程,以及由此引發的bug。2.造成代碼無限嵌套,難以閱讀。下面就來說說怎麼解決避免上述的問題。第一個問題是一個習慣問題,在使用callback的時候往往會讓人忘了使用return,這種情況在使用coffee-script的時候尤甚(雖然它在編譯成javascript時會自行收集最後的資料作為傳回值,但是這個傳回值並不一定代表你的初衷)。看看下面的例子。複製代碼
Time of Update: 2017-01-19
.NET裡面的方法重載用著的確很方便,哪Javascript裡面能不能也哪樣做呢?Javasciprt裡面本生是沒有方法重載的功能,以前很多人的做法可能是直接少傳參數過去,然後在根據參數是否為 “undefined” 未定義來決定怎麼處理,從而實作類別似方法重載的功能。例如:複製代碼 代碼如下:var showMessage = function(name,value,id){ if(id != ”undefined”){ &
Time of Update: 2017-01-19
javascript的Array沒有contains方法,有時候這會不方便,contains方法實現很簡單:複製代碼 代碼如下:function contains(a, obj) { var i = a.length; while (i--) { if (a[i] === obj)
Time of Update: 2017-01-19
JavaScript 的閉包是一個其主動發展的特性, 也是一個被動發展的特性. 也就是說, 一方面, JS 有了閉包能更好解決一些問題. 另一方面, JS 為瞭解決某些問題, 而不得不使用閉包勉強來解決問題.前者這裡不討論, 如果 JS 閉包能更好的解決問題, 當然使用閉包更好.我討論的是後者, 是因為 JS 本身的限制, 而不得不磕磕絆絆地用閉包來解決的問題, 例如"變數只初始化一次"這樣的需求.常規的語言這樣解決:複製代碼 代碼如下:class Class{ function
Time of Update: 2017-01-19
本文執行個體講述了JavaScript計算兩個日期時間段內日期的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:/************************* * 計算兩個日期時間段內所有日期 * * @param value1 * 開始日期 YYYY-MM-DD *
Time of Update: 2017-01-19
本文執行個體講述了JavaScript控制table某列不顯示的方法。分享給大家供大家參考。具體實現方法如下:1、table代碼複製代碼 代碼如下:<table id="mytable" border="0" width="1400" align="center" cellpadding="3" cellspacing="1" bgcolor="#dfdfdf"> <tbody id="tbody1" style="background:
Time of Update: 2017-01-19
認真研究了一會DSL,發現了這麼幾件有趣的事,JavaScript用得最多的一個東西怕是鏈式調用 (方法鏈,即Method Chaining)。 有意思的是Martin Flower指出:複製代碼 代碼如下: I've also noticed a common misconception - many people seem to equate fluent interfaces with Method Chaining. Certainly chaining is a
Time of Update: 2017-01-19
在看JavaScript Template源碼的時候,發現有一個很有意思的用法用來產生函數,想到這不就是元編程麼?JavaScript 元編程複製代碼 代碼如下: 元編程(Metaprogramming)是指某類電腦程式的編寫,這類電腦程式編寫或者操縱其他程式(或者自身)作為它們的資料,或者在運行時完成部分本應在編譯時間完成的工作。JavaScript eval複製代碼 代碼如下: eval() 函數可計算某個字串,並執行其中的的 JavaScript
Time of Update: 2017-01-19
我們習慣看到這樣的匿名函數複製代碼 代碼如下:(function(){ console.log("test");})();之前一直叫的是自執行的匿名函數(self-executing anonymous function)發現原來還有一種叫法是: 立即調用函數運算式 (IIFE,Immediately-Invoked Function
Time of Update: 2017-01-19
因為語言上的設計錯誤,arguments可以被當成一個數組。複製代碼 代碼如下:function zero () { console.log(arguments[0]);}也會有複製代碼 代碼如下:function zero () { for(var i=0;i<arguments.length;i++){ console.log(arguments[i]);
Time of Update: 2017-01-19
所謂的閉包應該是指: 內建函式讀取當前函數以外的變數,即建立時所處的上下文環境。複製代碼 代碼如下:function hello(){ var char = "hello,world"; function print(){ console.log(char); };
Time of Update: 2017-01-19
迷惑了一會兒不同JS庫的封裝後,終於有了點頭緒。大致就是:複製代碼 代碼如下:建立一個自調用匿名函數,設計參數window,並傳入window對象。而這個過程的目的則是,複製代碼 代碼如下:使得自身的代碼不會被其他代碼汙染,同時也可以不汙染其他代碼。jQuery 封裝於是找了個早期版本的jQuery,版本號碼是1.7.1裡面的封裝代碼大致是下面這樣的複製代碼 代碼如下:(function( window, undefined ) {var jQuery = (function()
Time of Update: 2017-01-19
在尋找如何設計一個Javascript API的時候,發現了Method Chaining這個東西,方法鏈,看上去似乎很強大,也挺有意思的,而這個東西也是過去我們經常看到的。。Javascript Method Chaining在維基百科上有這樣的解釋:複製代碼 代碼如下:Method chaining, also known as named parameter idiom, is a common syntax for invoking multiple method calls in