Time of Update: 2017-01-19
altKey, button, cancelBubble, clientX, clientY, ctrlKey, fromElement, keyCode, offsetX, offsetY, propertyName, returnValue, screenX, screenY, shiftKey, srcElement, srcFilter, toElement, type, x, y 1.altKey 描述: 檢查alt鍵的狀態。 文法: event.altKey 可能的值:
Time of Update: 2017-01-19
如今backbone、emberjs、spinejs、batmanjs 等MVC架構侵襲而來。CommonJS、AMD、NodeJS、RequireJS、SeaJS、curljs等模組化的JavaScript撲面而來。web前端已經演變成大前端,web前端的發展速度之快。 1)我們來看看什麼是模組化? 模組化是一種將系統分離成獨立功能部分的方法,可將系統分割成獨立的功能部分,嚴格定義模組介面、模組間具有透明性。javascript中的模組在一些C、PHP、java中比較常見:
Time of Update: 2017-01-19
一、擷取函數名稱的3種實現方法執行個體1:在js權威指南中看到的一個方法:Function.prototype.getName = function(){ return this.name || this.toString().match(/function\s*([^(]*)\(/)[1]}執行個體2:如果當前函數是有名函數,則返回其名字,如果是匿名函數則返回被賦值的函數變數名,如果是閉包中匿名函數則返回“anonymous”。複製代碼
Time of Update: 2017-01-19
使用JavaScript判斷office版本,在項目開發中非常有用,由其是在OA系統的線上office編輯,我們需要讓office線上編輯工具同時支援office的多個版本,例如office2003、2007。office在安裝的時候,會在註冊表中寫入索引值,具體位置為HKEY_CURRENT_USER/Software/Microsoft/Office。我們開啟註冊表就可以看到office的版本,office版本與註冊表索引值對應關係如下:複製代碼 代碼如下:11.0 &
Time of Update: 2017-01-19
1、數組的建立複製代碼 代碼如下:var arrayObj = new Array(); //建立一個數組var arrayObj = new Array([size]); //建立一個數組並指定長度,注意不是上限,是長度var arrayObj = new Array([element0[, element1[, ...[,
Time of Update: 2017-01-19
一、數組的操作1、數組的建立複製代碼 代碼如下:var arrayObj = new Array(); //建立一個數組var arrayObj = new Array([size]); //建立一個數組並指定長度,注意不是上限,是長度var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]);//建立一個數組並賦值要說明的是,雖然第二種方法建立數組指定了長度,但實際上所有情況下數組都是變長的,也就是說即使指定了長度為5
Time of Update: 2017-01-19
一、constructorconstructor的值是一個函數。在JavaScript中,除了null和undefined外的類型的值、數組、函數以及對象,都有一個constructor屬性,constructor屬性的值是這個值、數組、函數或者對象的建構函式。如:複製代碼 代碼如下:var a = 12, // 數字 b = 'str', // 字串 c = false, // 布爾值
Time of Update: 2017-01-19
對一個值使用typeof操作符可能返回下列某個字串:“undefined”——如果這個值未定義“boolean”——如果這個值是布爾值“string”——如果這個值是字串“number”——如果這個值是數值“object”——如果這個是對象或null“function”——如果這個值是函數常用的typeof操作符的傳回值包括number、string、boolean、undefined 、object和function。如:複製代碼 代碼如下:var n;console.log(typeof
Time of Update: 2017-01-19
一、定義Regex的方法定義Regex的方法有兩種:建構函式定義和Regex直接量定義。例如:複製代碼 代碼如下:var reg1 = new RegExp('\d{5, 11}'); // 通過建構函式定義var reg2 = /\d{5, 12}/; // 通過直接量定義Regex直接量字元 \o:NUL字元(\u0000) \t:定位字元(\u00
Time of Update: 2017-01-19
歸併排序(Merge sort)是建立在歸併操作上的一種有效排序演算法。該演算法是採用分治法(Divide and Conquer)的一個非常典型的應用。歸併(Merge)排序法是將兩個(或兩個以上)有序表合并成一個新的有序表,即把待排序序列分為若干個子序列,每個子序列是有序的。然後再把有序子序列合并為整體有序序列。歸併排序是建立在歸併操作上的一種有效排序演算法。該演算法是採用分治法(Divide and
Time of Update: 2017-01-19
插入排序在對幾乎已經排好序的資料操作時, 效率高, 即可以達到線性排序的效率。但插入排序一般來說是低效的, 因為插入排序每次只能將資料移動一位。希爾排序按其設計者希爾(Donald Shell)的名字命名,該演算法由1959年公布。一些老版本教科書和參考手冊把該演算法命名為Shell-Metzner,即包含Marlene Metzner
Time of Update: 2017-01-19
在 JavaScript 中,判斷一個變數的類型嘗嘗會用 typeof 運算子,在使用 typeof 運算子時採用參考型別儲存值會出現一個問題,無論引用的是什麼類型的對象,它都返回 “object”。這就需要用到instanceof來檢測某個對象是不是另一個對象的執行個體。 通常來講,使用 instanceof 就是判斷一個執行個體是否屬於某種類型。 另外,更重的一點是 instanceof 可以在繼承關係中用來判斷一個執行個體是否屬於它的父類型。 複製代碼 代碼如下: // 判斷 foo
Time of Update: 2017-01-19
一個等號就是個賦值的作用,主要問題在於兩個跟三個等號的區別。 javaScript中兩個等號和三個等號之間的區別 一言以蔽之:==先轉換類型再比較,===先判斷類型,如果不是同一類型直接為false。 ===表示恒等於,比較的兩邊要絕對的相同 alert(0 == ""); // true alert(0 == false); // true alert("" == false); // true alert(0 === ""); // false alert(0 === false); //
Time of Update: 2017-01-19
submit是button的一個特例,也是button的一種,它把提交這個動作自動整合了。 如果表單在點擊提交按鈕後需要用JS進行處理(包括輸入驗證)後再提交的話,通常都必須把submit改成button,即取消其自動認可的行為,否則,將會造成提交兩次的效果,對於動態網頁來說,也就是對資料庫操作兩次。或者在使用submit時驗證時加return true或false。
Time of Update: 2017-01-19
ECMAScript 函數不介意傳遞進來多少參數,也不會因為參數不統一而錯誤。實際上,函數體內可以通過 arguments 對象來接收傳遞進來的參數。 複製代碼 代碼如下: function box() { return arguments[0]+' | '+arguments[1]; //得到每次參數的值 } alert(box(1,2,3,4,5,6)); //傳遞參數 arguments 對象的 length 屬性可以得到參數的數量。 function box() { return
Time of Update: 2017-01-19
先上需要用到的全部程式碼片段(截取) 複製代碼 代碼如下: MenuControl.prototype.boxDisplay = false;//是否顯示圖層選擇菜單 MenuControl.prototype.controlUI; MenuControl.prototype.show = function(){ if(pointControl.boxDisplay){ pointControl.hide(); } menuBoxDiv.style.display = "";
Time of Update: 2017-01-19
複製代碼 代碼如下: /** * 當調用此函數時,只有第一次參數傳入,第二個不存在的情況下,就建立類 * 當調用此函數時,傳入了兩個參數,第一個參數為基類,第二個參數則在基類的基礎上新增內容 */ function extend(obj,prop){ function F(){ } //如果第一個參數為object類型(即json對象)的話,則將json的key value賦值給F函數的原型 F.prototype.key = value if (typeof(obj) == "object")
Time of Update: 2017-01-19
只要是寫過點JS代碼,很簡單一個var 就完事了。那對於JS編譯器背後它又發生了什麼呢?那就一步步通過代碼來講起。 複製代碼 代碼如下: x = 1; alert(x); var y = function() { alert(x); var x = 2; alert(x); } y(); 上面的代碼也會你答對了它會分別輸出:1,undefined,2。對於我來說,第一反應它會輸出:1,1,2。為什麼第二個會輸出undefined?在上面我明確定義了一個全域變數x,為何找不到?
Time of Update: 2017-01-19
1.對象的建立方法: (1)通過new運算子建立,new後面跟著一個建構函式名 var object = new Object(); 建構函式直接調用時通常沒有傳回值,它只是初始化由this值傳遞進來的對象;但是與new一起使用時返回一個對象值作為new運算式的值 (2)對象直接量 對象直接量由屬性說明列表構成,列表包含在大括弧中,其中屬性說明由逗號隔開。對象直接量的每個屬性說明都由屬性名稱加上冒號和屬性值構成,屬性值可以是任何類型,也可以是函數 var object = { a : 1, b
Time of Update: 2017-01-19
JavaScript中的運算子有很多,主要分為算術運算子,等同全同運算子,比較子,字串運算子,邏輯運算子,賦值運算子等。這些運算子都有一些屬於自己的運算規則,下面就為大家介紹一下JavaScript中的運算子。 一、JavaScript運算子的種類 1、算術運算子:+ 、 - 、* 、 / 、 % 、 -(一元取反) 、 ++ 、 -- 2、等同全同運算子:== 、 ===、 !== 、 !=== 3、比較子:< 、 > 、 <= 、 >=