Time of Update: 2017-01-19
push 方法 將新元素添加到一個數組中,並返回數組的新長度值。 arrayObj.push([item1 [item2 [. . . [itemN ]]]]) 參數 arrayObj 必選項。一個 Array 對象。 item, item2,. . . itemN 可選項。該 Array 的新元素。 說明 push 方法將以新元素出現的順序添加這些元素。如果參數之一為數組,那麼該數組將作為單個元素添加到數組中。如果要合并兩個或多個數組中的元素,請使用 concat 方法。 樣本
Time of Update: 2017-01-19
ie內建的有Active控制項,但Firefox不支援。這裡使用的是js操作dom方法對表單指定標記內文字進行列印,所以使用時需要定義相關的標籤及其樣式(文字大小、字型之類)。 複製代碼 代碼如下:<script type="text/javascript"> ///*********************** ///列印指定地區頁面 ///說明:obj–通過getElementById或其它方式擷取標籤標識,列印此obj內的文字 ///日期:2009-8-7 function
Time of Update: 2017-01-19
執行個體一: 複製代碼 代碼如下: <script type="text/javascript"> var i = 1; // 彈出內容為 1 true 的提示框 alert(window.i + ' ' + (window.i == i)); </script> 分析: 在全域定義的變數其實就是 window 對象的屬性。 上面的例子可以看到,我們定義全域變數的同時,window 對象會產生一個相應的屬性,如何讓我們的代碼避免產生這個屬性呢,看下面的例子。
Time of Update: 2017-01-19
在 JavaScript 的方法內,有個叫做 arguments 的變數數組,它是唯讀,所有實際傳入的參數變數都 放在了裡面,通過它,我們可以對傳入的參數進行類型檢查,從而實現重載的效果。 判斷一個變數的類型有兩種方法。 1,用 typeof 語句: 複製代碼 代碼如下: function check(){ if(typeof arguments[0] == 'string') alert('你傳入的參數是個字串'); else if(typeof arguments[0] ==
Time of Update: 2017-01-19
頁面編碼如果全部都是gb2312,而在JS裡document.write輸中也輸出了<meta http-equiv="Content-Type" content="text/html; charset=gb2312">,還會出現亂碼問題,原因是 :瀏覽器分析,發現JS的預設編碼仍然是UTF-8,最後找得解決方案: 方案一:此時將對方JS上,改成只有body內的內容通過document.write輸出,其他<meta直接在htm頁內出入,然後通過iframe其htm頁即可。
Time of Update: 2017-01-19
JavaScript Data Access Test move me pls [Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]其中比較重要的代碼:複製代碼 代碼如下:var Move = { $: function(id){ return (typeof id == "object") ? id : document.getElementById(id); }, pageX: function(elem){ //擷取目標elem的X座標
Time of Update: 2017-01-19
識別文本簽名 我們先來回顧一下上一篇文章中提到的Overload用例: 複製代碼 代碼如下:var extend = Overload .add("*, ...", function(target) { }) .add("Boolean, *, ...", function(deep, target) { });
Time of Update: 2017-01-19
JavaScript支援重載嗎? JavaScript支援函數重載嗎?可以說不支援,也可以說支援。說不支援,是因為JavaScript不能好像其它原生支援函數重載的語言一樣,直接寫多個同名函數,讓編譯器來判斷某個調用對應的是哪一個重載。說支援,是因為JavaScript函數對參數列表不作任何限制,可以在函數內部類比對函數重載的支援。
Time of Update: 2017-01-19
封裝Ajax 設計Async.Operation的最初目的就是解決Ajax調用需要傳遞callback參數的問題,為此我們先把Ajax請求封裝為Async.Operation。我在這裡使用的是jQuery,當然無論你用什麼基礎庫,在使用Async.Operation時都可以做這種簡單的封裝。 複製代碼 代碼如下: var Ajax = {}; Ajax.get = function(url, data) { var operation = new Async.Operation();
Time of Update: 2017-01-19
複製代碼 代碼如下: Async = {}; Async.Operation = function(options) { options = options || {}; var callbackQueue = []; var chain = (options.chain && options.chain === true) ? true : false; var started = false; var innerChain = null; this.result = undefined;
Time of Update: 2017-01-19
在Javascript應用過程中會遇到各式各樣的比較,今天給大家整理了三種情況,一起來學習下。1.兩個對象的比較Javascript的比較中參雜了一些比較奇怪的特性,我們來看一些比較簡單的比較。// 原始值的比較> var a = 12undefined> var b = 12undefined> a == btrue> a === btrue// 對象的比較> var c = []undefined> var d = []undefined> c ==
Time of Update: 2017-01-19
調用入口 鏈式調用存在Async.go方法和Async.chain方法兩個入口,這兩個入口本質上是一致的,只是Async.chain方法在調用時先不提供初始參數,而Async.go方法在調用時提供了初始參數並啟動非同步呼叫鏈。 複製代碼 代碼如下: Async.chain = function() { var chain = new Async.Operation({ chain: true }); return chain; }; Async.go =
Time of Update: 2017-01-19
現實開發中,要按順序執行一系列的同步非同步作業又是很常見的。還是用百度Hi網頁版中的例子,我們先要非同步擷取連絡人清單,然後再非同步擷取每一個連絡人的具體資訊,而且後者是分頁擷取的,每次請求發送10個連絡人的名稱然後取回對應的具體資訊。這就是多個需要順序執行的非同步請求。 為此,我們需要設計一種新的操作方式來最佳化代碼可讀性,讓順序非同步作業代碼看起來和傳統的順序同步作業碼一樣優雅。 傳統做法 大多數程式員都能夠很好的理解順序執行的代碼,例如這樣子的: 複製代碼 代碼如下: var
Time of Update: 2017-01-19
類結構 首先我們來搭一個架子,把需要用到的似有變數都列出來。我們需要一個數組,來儲存回呼函數列表;需要一個標誌位,來表示非同步作業是否已完成;還可以學IAsyncResult,加一個state,允許非同步作業的實現者對外暴露自訂的執行狀態;最後加一個變數儲存非同步作業結果。 複製代碼 代碼如下: Async = { Operation: { var callbackQueue = []; this.result = undefined; this.state = "waiting"; this.
Time of Update: 2017-01-19
傳遞迴調 我們首先要考慮的一個問題是,如何傳遞迴調入口。在最傳統的XHR調用當中,回呼函數會被作為最後一個參數傳遞給非同步函數: 複製代碼 代碼如下:function asyncOperation(argument, callback) 在參數相當多的時候,我們可以把參數放到一個JSON裡面,這樣參數就如同具名參數一樣,可以通過參數名選擇性的傳遞參數,不傳遞的參數相當於使用預設值。這是從Prototype開始就流行起來的做法: 複製代碼 代碼如下:function asyncOperation(
Time of Update: 2017-01-19
問題 在Ajax應用中,調用XMLHttpRequest是很常見的情況。特別是以用戶端為中心的Ajax應用,各種需要從伺服器端擷取資料的操作都通過XHR非同步呼叫完成。然而在單線程的JavaScript編程中,XHR非同步呼叫的代碼風格實在是與一般的JavaScript代碼格格不入。 額外參數 考慮一個除法函數,如果它是純用戶端的同步函數,那麼簽名會是這樣的: function divide(operand1, operand2)
Time of Update: 2017-01-19
表單的用戶端javascript驗證有各種各樣的寫法,登入狀態form的onsubmit事件或submit按扭寫一個函數。對於小表單(只有一兩個表單域的表單)就不必再專門再用javascript寫一個驗證函式了,只需要在form的onsubmit事件裡加上: 複製代碼 代碼如下:onsubmit=”return domainname.value==”?(alert('請輸入搜尋內容'),false):true;”
Time of Update: 2017-01-19
常量:JavaScript常量又稱字面常量,是固化在程式碼中的資訊。變數:變數的主要作用是存取資料,提供一個存取資訊的容器。資料類型 整型:整型常量就是數字,可以是十進位、八進位、十六進位。 字串:字串就是以英文""或''括起來的一個或幾個字元。
Time of Update: 2017-01-19
JavaScript中類的學習,從基本類繼承過來方法 也可以這樣實現: Java代碼 複製代碼 代碼如下: function newClass(){ this.firstName="frank"; this.toUc=String.toUpperCase; this.toString=function(){ return this.toUc(this.firstName); } } var nc=new newClass(); alert(nc);//在IE中沒反應。。 function
Time of Update: 2017-01-19
Java代碼 複製代碼 代碼如下: <html> <head> <title>javascript</title> <script type="text/javascript"> function test(inVal){ try{ inVal=inVal.toUpperCase(); }catch(error){ alert("An exception has occurred.Error