Time of Update: 2018-12-08
在每個函數中,都有個名為 arguments 的變數,它以類似數組的形式儲存了當前調用的參數。而它實際上並不是個數組,使用 typeof arguments 語句嘗試會返回“object”(對象),所以它不能像 Array 一樣使用 push 和 pop 等方法。即便如此,仍然可以使用下標以及長度屬性(length)擷取它的值。 編寫靈活的函數 雖看起來名不經傳,但的確 arguments 是非常有用的對象。比如,你可以讓函數處理不定數目的參數。在 Dean Edwards 寫的 base2
Time of Update: 2018-12-08
一,為什麼不要用for in語句 jqModal這個jquery外掛程式估計很多人都使用過,在jqModal源碼內部,有一個函數為hs,其中有個嵌套迴圈如下, 複製代碼 代碼如下:for(var i in {jqmShow:1,jqmHide:1}) for(var s in this[i]) if(H[this[i][s]]) H[this[i][s]].w[i](this); return F; } 第一個for in遍曆的目標是個匿名對象,沒有問題。 第二個for
Time of Update: 2018-12-08
常見的綁定事件有直接綁定在頁面元素中比如<div id="wrap" onclick="a();"></div>,這個換種方法也就是分離出來寫在js代碼裡如document.getElementById('wrap').onclick = function(){a();},此時如果需要綁定多個方法則直接寫在一起即可如document.getElementById('wrap').onclick = function(){a();b();}或<div
Time of Update: 2018-12-08
1、call call 方法 調用一個對象的一個方法,以另一個對象替換當前對象。 call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 參數 thisObj 可選項。將被用作當前對象的對象。 arg1, arg2, , argN 可選項。將被傳遞方法參數序列。 說明 call 方法可以用來代替另一個對象調用一個方法。call 方法可將一個函數的物件內容從初始的上下文改變為由 thisObj 指定的新對象。 如果沒有提供 thisObj 參數,那麼 Global
Time of Update: 2018-12-08
下文有大概70%的內容出自http://www.quirksmode.org/js/this.html,另外30%是我自己對它的理解和感想。希望能對有需要的人一點協助。。。 首先,先看一個很典型的關於this關鍵字題目:複製代碼 代碼如下:var name = 'hong' var obj = { name: 'ru', getName: function(){ return function(){ return this.name; }; } } alert(obj.getName()());
Time of Update: 2018-12-08
-----
Time of Update: 2018-12-08
首先講下這個bug的出現的情況,頁面中有 複製代碼 代碼如下:<a href="javascript:void(0)" onclick="document.getElementById('current').src='images/001.jpg';">
Time of Update: 2018-12-08
用法: 一、設定cookie 複製代碼 代碼如下:var cookie = new JSCookie(); // 普通設定 cookie .SetCookie("key1","val1"); // 到期時間為一年 var expire_time = new Date(); expire_time.setFullYear(expire_time.getFullYear() + 1); cookie .SetCookie("key2","val2",expire_time); //
Time of Update: 2018-12-08
這個主要會用在表單欄位中,所以我這裡做的實驗只針對錶單欄位。在form的子項目中迴圈尋找第一個不是隱藏欄位的欄位,然後使用focus方法獲得焦點。(呵呵^_^,很簡單!) 複製代碼 代碼如下:FormUtil.focusOnFirst = function() { if (document.forms.length > 0) { for (var i = 0; i < document.forms[0].elements.length; i++) { var oField =
Time of Update: 2018-12-08
先上一段最簡單的: 複製代碼 代碼如下:// 以下幾行代碼展示了命名空間、類、以及函數的類比定義和使用: NameSpace = {}; NameSpace.Class = function(){ this.Method = function(info){alert(info);} }; new NameSpace.Class().Method("Hello world"); 再來一些可見到的,各種情況的代碼 1.類的類比 複製代碼 代碼如下:// 類定義 function
Time of Update: 2018-12-08
A 三位一體的頁面 網頁的結構層(Structure )由HTML 或XHTML 建立; 網頁的表現層(Presentation )由CSS 來建立; 網頁的行為層(Behavior )由Javascript 和DOM 所完成; 其實,網頁的表現層和行為層總是存在的,即使使用者沒有去定義。因為網頁瀏覽器會把自身預設的樣式和事件載入到網頁的結構層上。 B 使用className 屬性 Javascript 還可以通過className 屬性靈活的更改一個標籤元素的CSS
Time of Update: 2018-12-08
技術實現的關鍵:使用CSS的display特性,display特性的值有:none和block。none即為隱藏;block即為顯示。 動手之前的設計:可摺疊地區分為兩個地區:標題列和內容地區。標題列總是可見的,內容部分是可以摺疊或展開的。在頁面上,可以使用兩個<div>元素分別實現這個設計。 實現步驟: 在頁面中插入<div>元素,並加入實現摺疊功能的JS代碼,代碼如下: xmlns="http://www.w3.org/1999/xhtml" > Click
Time of Update: 2018-12-08
使用new Function( ) 來進行語法檢查 eval( ) 方法是不能亂用的,在不適當的時候使用eval( ) 方法可能導致整個程式都會出問題的; 而new Function( ) 就沒這麼大問題。雖然new Function( ) 在任何情況下,構造的函數都是在全域範圍下直接工作的,但只作語法檢查的話,並不會因為範圍問題而產生意外結果,只要你不直接調用通過它構造的新函數。 在eval( ) 接受的參數前面增加“0,” 其實這是由於IE中存在一個bug。出於某種原因,如果你在IE
Time of Update: 2018-12-08
比如:當我們將滑鼠移動到一個表徵圖上的時候,表徵圖會出現一些動畫效果(漸層放大、閃動、更換顏色等),而這一切的友好效果基本上都跟樣式(style)有關,所以這一篇,我學習JavaScript對style的操作。技術關鍵點:style。這一篇要求我們對CSS樣式有一定的瞭解。(讀者可以google一下CSS的相關內容) 操作步驟: 1、頁面代碼(包括JS代碼)如下: 複製代碼 代碼如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Time of Update: 2018-12-08
假設在我們頁面有這麼一段標籤: 複製代碼 代碼如下:<body> <div id="testDiv" style="width:200px;height:200px;background:#c0c0c0;"></div> </body> 現在在頁面加入這麼一段指令碼: 複製代碼 代碼如下:<script type="text/javascript">
Time of Update: 2018-12-08
代碼如下: 複製代碼 代碼如下:function write(msg){ for(var i = 0; i < arguments.length; i ++){ document.write(arguments[i] + '<br />'); } } //關於 '&&' test1 = 1 && 2 && 3 && 4; test2 = '0' && 2 && 3
Time of Update: 2018-12-08
限制為整數 複製代碼 代碼如下:<html> <head> <script language="javascript" type="text/javascript"> var G=document.getElementById; function checkNumber(){ var reg = /^(?:0|[1-9][0-9]?|100)$/; var strNumber = G("txtNumber").value;
Time of Update: 2018-12-08
//二分尋找健忘遞迴版本 複製代碼 代碼如下:function binary_search(arr,target,low,high){ if(low<high){ //至少包括兩個元素 var min=(low+high)/2; if(target>arr[min]) return binary_search(arr,target,min+1,high); else return binary_search(arr,target,low,min); }else
Time of Update: 2018-12-08
複製代碼 代碼如下:function getHTTPRequest() { var xhr = false; if (window.XMLHttpRequest) xhr = new XMLHttpRequest(); //IE除外的瀏覽器 else if (window.ActiveXObject) { try { xhr = new ActiveXObject("Msxm12.XMLHTTP");//最新版的ActiveX對象 } catch(e) { try { xhr = new
Time of Update: 2018-12-08
比如: 複製代碼 代碼如下:// 代碼 1 function Pig() {} var pig = new Pig(); alert(pig instanceof Pig); // => true function FlyPig() {} FlyPig.prototype = new Pig(); var flyPig = new FlyPig(); alert(flyPig instanceof Pig); // => true 來看另一段代碼: 複製代碼 代碼如下:// 代碼 2