Time of Update: 2017-01-19
前言:
Time of Update: 2017-01-19
JavaScript的重載函數,一般是靠對arguments判斷來操作的。 比如: 複製代碼 代碼如下: var afunc = function() { args = arguments; if(args.length == 1) { console.log(1); }else if(args.length == 2) { console.log(2); }else if (args.length == 3) { console.log(3); } }
Time of Update: 2017-01-19
關於在ASP(Server.UrlEncode)、PHP(urlencode())函數編碼結果,或是經過asp、php等動態語言直接寫入COOKIES的中文字元,用JS讀取的時候,都會碰到一個編碼的問題,那就是最終字串被urlencode編碼了,而又時有需要從JS在用戶端去讀取這些資料。而本文,就大概說說如何在js中通過系統內建的函數去解決這個問題。
Time of Update: 2017-01-19
舉個例子 複製代碼 代碼如下: var flower= function(){ var t=0,i=0; for(;i<5000000;i++){ t++; } return t; } flower 返回t的值 假設這個函數需要花費 2-3秒 。 通過 Memoization 函數,再次尋找相同的值時,直接擷取事先緩衝好的 value,立刻返回; Memoization 函數 複製代碼 代碼如下: var Memoize = function(fn, cache, refetch,
Time of Update: 2017-01-19
指令碼可以放在html頁面的head裡面,也可以放在body裡面。 把指令碼放在body中,當瀏覽器遇見<script>標籤時, 瀏覽器不知道指令碼會插入文本還是html標籤,因此瀏覽器會停止分析html頁面而去執行指令碼。當使用src的方式添加指令碼時,瀏覽器也會做同樣的動作。在指令碼處理的時候,頁面呈現和使用者互動將被完全阻止。指令碼下載和執行阻塞了其他資源的下載,比如呈現頁面使用的圖片。(雖然很多瀏覽器實現了指令碼並行下載的技術,但是這個問題依然沒有解決) 指令碼的位置
Time of Update: 2017-01-19
正題: 1.1 javascript的靈活性 物件導向對象的Javascript編程模式:1、可以儲存狀態 2、具有對象內部才能調用的方法 3、對編寫的程式更能掌握其結構,能經受的起反覆式開發法(個人認為) 複製代碼 代碼如下: //夠造函數,也可俗稱為類 var Anim=function(){ ... } //類中的方法,javascript中的原型 Anim.prototype.start=function(){ ... } 註:一般講方法放入原型中,因為原型中一般儲存不變通用的東西
Time of Update: 2017-01-19
Notify & Capture 要實現 notify 和 capture 就太容易了,我們只需要把 capture 傳入的 handler 都儲存下來,然後在 notify 裡面找到匹配的 handler 就可以了。 複製代碼 代碼如下: var filterHandlerBundles = []; Dispatch.capture = function(pattern, handler) { var filter = createFilter(pattern);
Time of Update: 2017-01-19
JS.Encode是在JS代碼進行編碼之後形成的“亂碼”,此亂碼除無法閱讀之外,仍能夠良好的執行。 往往在網頁上有JS加密代碼的解碼方法,但是由於代碼中存在逸出字元,無法正確的進行解碼。 JAVAScript使用以下八種逸出字元。這些字元都是以一個反斜線(\)開始。當JAVAScript的解譯器(Interpreter)看到反斜線時,就會特別注意,表現出程式員所要表達的意思。
Time of Update: 2017-01-19
比較簡單的,例如:有一地區<div id="newbody" ></div>,現要求刪除其中所有節點。相信很多人會這樣寫: 複製代碼 代碼如下: var divpanel = document.getElementById("newbody"); var controlinfo= divpanel.childNodes; for(var index = 0;index < controlinfo.length ;index++) {
Time of Update: 2017-01-19
1、Mario(遊戲地址:http://jsmario.com.ar/ ) 傳說中的馬里奧網頁版,一比一實現了紅白機時代超級馬里奧中所有功能 與關卡,精細程度不遜原版遊戲。依 賴庫:無2 、 Bunny
Time of Update: 2017-01-19
當時考慮有三種方法: 1.直接把路徑寫在js檔案裡,但如果引用頁面路徑層級改變就沒轍了。 2.寫個class,放在主題包裡的css檔案或者單獨建立一個css檔案給日期控制項專用。但是控制項中的其他元素並沒有使用class的需要,單獨建立相應css文檔似乎小題大做。 3.把以上兩個方法排除後,自然要採用動態載入圖片路徑的方法咯。 關鍵代碼如下: 複製代碼 代碼如下: //建立一個全域變數儲存路徑 var imgRootUrl = ""; //擷取圖片路徑所在目錄 var
Time of Update: 2017-01-19
剛寫完,歡迎大家幫忙測試 完整的測試代碼: 進階目錄,檔案名稱排序 進階目錄,檔案名稱排序 主要實現了目錄中的數字按大小排序 排序結果: [Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]主要的排序功能源碼如下(v1): 複製代碼 代碼如下: var fileSort=function(arr){ arr.sort(); var res=[],temp=[],i=0,j=0,k,reg,sc=true,cur=arr[0];
Time of Update: 2017-01-19
這裡使用原生的javascript,用物件導向的方式建立一個容易維護使用方便的滑動菜單,調用方式如下: 複製代碼 代碼如下: var $sliding = document.getElementById("silding"); var s1 = new Sliding(); s1.commands = $sliding.getElementsByTagName("dt"); s1.panels = $sliding.getElementsByTagName("dd"); ;
Time of Update: 2017-01-19
因為絕大多數的瀏覽器都和它相容,你可以在這些瀏覽器中使用它。JavaScript被接受的相當快,因為它是如此的簡單,而且使用範圍相當廣泛。許多程式員過去常常認為JavaScript是一門“玩具語言”,但是,AJAX進入市場後表現出了完全相反的一面,它讓JavaScript展現出了完全不同的能力和功能。
Time of Update: 2017-01-19
有圖如下: 代碼如下: 複製代碼 代碼如下: /* head html : <span></span> body html : <iframe></iframe> */ var Tab = function(id,title,url,isClose){ this.id = id; this.title = title; this.url = url; this.head = jQuery('<span class="tab-head">
Time of Update: 2017-01-19
以問題開始: function Base(){}var base = new Base() 上面兩行代碼會建立幾個對象(object)? 要回答這個問題,先明確一下Javascript裡object的概念。 Objects 在Javascript裡,幾乎一切都是object(Arrays、Functions、Numbers、Objects……),而沒有C#裡的class的概念。object的本質是一個name-value
Time of Update: 2017-01-19
擷取頁面的編碼,如果是IE瀏覽器用document.charset即可擷取,如果用firefox需要用document.characterSet擷取。 複製代碼 代碼如下:function getPageCharset(){ var charSet = ""; var oType = getBrowser(); switch(oType){ case "IE": charSet = document.charset; break; case "FIREFOX": charSet =
Time of Update: 2017-01-19
效果如圖所示:下面是擷取系統內建的顏色選取器的代碼: [Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]優點是:代碼比較少缺點是:只能IE下使用。
Time of Update: 2017-01-19
以下是代碼: 複製代碼 代碼如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type"
Time of Update: 2017-01-19
這是一個比較特殊的屬性,Javascript中的繼承一般都依賴這屬性實現。 在Javascript中,一切都是對象,字串是對象,數組是對象,變數是對象,函數也是對象,所以才會允許['a','b','c'].push('d');這樣的操作存在。類本身也是一個對象,也可以定義屬性和方法: 複製代碼 代碼如下: function Test(){}; Test.str = 'str'; Test.fun = function(){return 'fun';}; var r1 = Test.str; //