国产二区一区,中文字幕久热精品视频在线,久久最新网址http://www.aygfsteel.com/brock/category/24251.htmlzh-cnWed, 25 Jun 2014 16:23:25 GMTWed, 25 Jun 2014 16:23:25 GMT60OpenLayers 疊加國家天地圖 墨卡托http://www.aygfsteel.com/brock/archive/2014/06/24/415076.htmlbrockbrockTue, 24 Jun 2014 09:00:00 GMThttp://www.aygfsteel.com/brock/archive/2014/06/24/415076.htmlhttp://www.aygfsteel.com/brock/comments/415076.htmlhttp://www.aygfsteel.com/brock/archive/2014/06/24/415076.html#Feedback0http://www.aygfsteel.com/brock/comments/commentRss/415076.htmlhttp://www.aygfsteel.com/brock/services/trackbacks/415076.html
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>二次開發示例</title>
<link rel="stylesheet" href="../OpenLayers2.11/theme/default/style.css" type="text/css" />
    <script type="text/javascript" src="../OpenLayers2.11/OpenLayers.js"></script>
    <script type="text/javascript" src="../OpenLayers2.11/OpenLayersEx.js?random=8852c822-1ab8-4c0a-9717-b6f4c2b98115"></script>
 
    <!-- Import OpenLayers, reduced, wms read only version -->
    <!--<script src="../OpenLayers.js" type="text/javascript"></script>-->
<script type="text/javascript">
   var map;
var bounds = new OpenLayers.Bounds(-20037508.34, -20037508.34, 20037508.34, 20037508.34);
function init() {
    var options = {
                       controls:[new OpenLayers.Control.XPanZoomBar(),new OpenLayers.Control.Navigation(),new OpenLayers.Control.MousePosition({numDigits:2})] ,
                        projection: 'EPSG:900913',
                        maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34),
                        maxResolution: 156543.0339,
                        units: 'm',
                        zoomLevel: 8
                    };
    map = new OpenLayers.Map('map',options);    
    
/*{
        div: "map",
        projection: "EPSG:900913",
        units: "m",
        maxExtent: new OpenLayers.Bounds(
            -20037508.34, -20037508.34, 20037508.34, 20037508.34
        ),
        maxResolution: 156543.0339,
zoomLevel: 8
    }*/
   // var osm = new OpenLayers.Layer.OSM();
    // If tile matrix identifiers differ from zoom levels (0, 1, 2, ...)
    // then they must be explicitly provided.
    var matrixIds = new Array(19);
    for (var i=0; i<16; ++i) {
        matrixIds[i] = i+"";
    }
var wmts2 = new OpenLayers.Layer.WMTS({
        name: "Medford Buildings",
        url: "http://t0.tianditu.com/cia_w/wmts",
        layer: "cia",
        matrixSet: "w",
        matrixIds: matrixIds,
        format: "tiles",
        style: "default",
        opacity: 0.7,
        isBaseLayer: false
    });       
    var wmts = new OpenLayers.Layer.WMTS({
        name: "vec",
        url: "http://t0.tianditu.com/vec_w/wmts",
        layer: "vec",
        matrixSet: "w",
        matrixIds: matrixIds,
        format: "tiles",
        style: "default",
        opacity:1,
        isBaseLayer: true
    });                
    map.addLayers( [wmts,wmts2]);
  //  map.addControl(new OpenLayers.Control.LayerSwitcher());
  //  map.setCenter(new OpenLayers.LonLat(13391734.740566667,3535411.228859166),7);
map.moveTo(new OpenLayers.LonLat(13391734.740566667,3535411.228859166),7);
}
</script>
</head>
 <body onload="init();">
        <h1 id="title">Web Map Tile Service (WMTS) Layer</h1>
        
    
        
        <div id="map" class="smallmap"></div>
        
       
    </body>
</html>


brock 2014-06-24 17:00 發表評論
]]>
ext grid 刪除最后一行數據后還是顯示http://www.aygfsteel.com/brock/archive/2013/10/24/405587.htmlbrockbrockThu, 24 Oct 2013 02:40:00 GMThttp://www.aygfsteel.com/brock/archive/2013/10/24/405587.htmlhttp://www.aygfsteel.com/brock/comments/405587.htmlhttp://www.aygfsteel.com/brock/archive/2013/10/24/405587.html#Feedback0http://www.aygfsteel.com/brock/comments/commentRss/405587.htmlhttp://www.aygfsteel.com/brock/services/trackbacks/405587.htmlext grid 刪除最后一行數據后還是顯示

grid刪除最后一行數據后,store reload ,因為數據庫中已經沒有數據了,所以返回null .

但是ext不認這個東西,所以在service中進行判斷。如果數據為null ,則返回

"{total:0,gridData:[]}" ;

重新編譯,運行后,刪除最后一行數據,就會看不到了。



brock 2013-10-24 10:40 發表評論
]]>
JavaScript中的匿名函數及函數的閉包http://www.aygfsteel.com/brock/archive/2013/03/20/396703.htmlbrockbrockWed, 20 Mar 2013 02:00:00 GMThttp://www.aygfsteel.com/brock/archive/2013/03/20/396703.htmlhttp://www.aygfsteel.com/brock/comments/396703.htmlhttp://www.aygfsteel.com/brock/archive/2013/03/20/396703.html#Feedback0http://www.aygfsteel.com/brock/comments/commentRss/396703.htmlhttp://www.aygfsteel.com/brock/services/trackbacks/396703.html
  • 1、匿名函數
  • 2、閉包
  • 3、舉例
  • 4、注意
  • 1、匿名函數

    函數是JavaScript中最靈活的一種對象,這里只是講解其匿名函數的用途。匿名函數:就是沒有函數名的函數。

    1.1 函數的定義,首先簡單介紹一下函數的定義,大致可分為三種方式

    第一種:這也是最常規的一種

    function double(x){     return 2 * x;    } 

    第二種:這種方法使用了Function構造函數,把參數列表和函數體都作為字符串,很不方便,不建議使用。

    var double = new Function('x', 'return 2 * x;'); 

    第三種:

    var double = function(x) {
    return 2* x;
    }

    注意“=”右邊的函數就是一個匿名函數,創造完畢函數后,又將該函數賦給了變量square。

    1.2 匿名函數的創建

    第一種方式:就是上面所講的定義square函數,這也是最常用的方式之一。

    第二種方式:

    (function(x, y){
    alert(x + y);
    })(2, 3);

    這里創建了一個匿名函數(在第一個括號內),第二個括號用于調用該匿名函數,并傳入參數。

    2、閉包

    閉包的英文單詞是closure,這是JavaScript中非常重要的一部分知識,因為使用閉包可以大大減少我們的代碼量,使我們的代碼看上去更加清晰等等,總之功能十分強大。

    閉包的含義:閉包說白了就是函數的嵌套,內層的函數可以使用外層函數的所有變量,即使外層函數已經執行完畢(這點涉及JavaScript作用域鏈)。

    示例一

    function checkClosure(){     var str = 'rain-man';     setTimeout(         function(){ alert(str); } //這是一個匿名函數     , 2000); } checkClosure(); 

    這個例子看上去十分的簡單,仔細分析下它的執行過程還是有許多知識點的:checkClosure函數的執行是瞬間的(也許用時只是0.00001毫秒),在checkClosure的函數體內創建了一個變量str,在checkClosure執行完畢之后str并沒有被釋放,這是因為setTimeout內的匿名函數存在這對str的引用。待到2秒后函數體內的匿名函數被執行完畢,str才被釋放。

    示例二,優化代碼

    function forTimeout(x, y){
    alert(x + y); } function delay(x , y , time){
    setTimeout('forTimeout(' + x + ',' + y + ')' , time);
    } /** * 上面的delay函數十分難以閱讀,也不容易編寫,但如果使用閉包就可以讓代碼更加清晰 *
    function delay(x , y , time){ *
    setTimeout( *
    function(){ *
    forTimeout(x , y) *
    } * , time);
    * }
    */

    3、舉例

    匿名函數最大的用途是創建閉包(這是JavaScript語言的特性之一),并且還可以構建命名空間,以減少全局變量的使用。

    示例三:

    var oEvent = {}; (function(){      var addEvent = function(){ /*代碼的實現省略了*/ };     function removeEvent(){}      oEvent.addEvent = addEvent;     oEvent.removeEvent = removeEvent; })(); 

    在這段代碼中函數addEvent和removeEvent都是局部變量,但我們可以通過全局變量oEvent使用它,這就大大減少了全局變量的使用,增強了網頁的安全性。 我們要想使用此段代碼:oEvent.addEvent(document.getElementById('box') , 'click' , function(){});

    示例四:

    var rainman = (function(x , y){     return x + y; })(2 , 3); /**  * 也可以寫成下面的形式,因為第一個括號只是幫助我們閱讀,但是不推薦使用下面這種書寫格式。  * var rainman = function(x , y){  *    return x + y;  * }(2 , 3);  */ 

    在這里我們創建了一個變量rainman,并通過直接調用匿名函數初始化為5,這種小技巧有時十分實用。

    示例五:

    var outer = null;  (function(){     var one = 1;     function inner (){         one += 1;         alert(one);     }     outer = inner; })();  outer();    //2 outer();    //3 outer();    //4 

    這段代碼中的變量one是一個局部變量(因為它被定義在一個函數之內),因此外部是不可以訪問的。但是這里我們創建了inner函數,inner函數是可以訪問變量one的;又將全局變量outer引用了inner,所以三次調用outer會彈出遞增的結果。

    4、注意

    4.1 閉包允許內層函數引用父函數中的變量,但是該變量是最終值

    示例六:

    /**  * <body>  * <ul>  *     <li>one</li>  *     <li>two</li>  *     <li>three</li>  *     <li>one</li>  * </ul>  */  var lists = document.getElementsByTagName('li'); for(var i = 0 , len = lists.length ; i < len ; i++){     lists[ i ].onmouseover = function(){         alert(i);         }; } 

    你會發現當鼠標移過每一個<li&rt;元素時,總是彈出4,而不是我們期待的元素下標。這是為什么呢?注意事項里已經講了(最終值)。顯然這種解釋過于簡單,當mouseover事件調用監聽函數時,首先在匿名函數( function(){ alert(i); })內部查找是否定義了 i,結果是沒有定義;因此它會向上查找,查找結果是已經定義了,并且i的值是4(循環后的i值);所以,最終每次彈出的都是4。

    解決方法一:

    var lists = document.getElementsByTagName('li'); for(var i = 0 , len = lists.length ; i < len ; i++){     (function(index){         lists[ index ].onmouseover = function(){             alert(index);             };                         })(i); } 

    解決方法二:

    var lists = document.getElementsByTagName('li'); for(var i = 0, len = lists.length; i < len; i++){     lists[ i ].$$index = i;    //通過在Dom元素上綁定$$index屬性記錄下標     lists[ i ].onmouseover = function(){         alert(this.$$index);         }; } 

    解決方法三:

    function eventListener(list, index){     list.onmouseover = function(){         alert(index);     }; } var lists = document.getElementsByTagName('li'); for(var i = 0 , len = lists.length ; i < len ; i++){     eventListener(lists[ i ] , i); } 

    4.2 內存泄露

    使用閉包十分容易造成瀏覽器的內存泄露,嚴重情況下會是瀏覽器掛死,感興趣的的話可以參考:http://www.cnblogs.com/rainman/archive/2009/03/07/1405624.html

    http://www.cnblogs.com/rainman/archive/2009/05/04/1448899.html



    brock 2013-03-20 10:00 發表評論
    ]]>
    javascript ip、域名、手機號碼正則表達式驗證代碼http://www.aygfsteel.com/brock/archive/2010/12/27/341604.htmlbrockbrockMon, 27 Dec 2010 02:11:00 GMThttp://www.aygfsteel.com/brock/archive/2010/12/27/341604.html這個手機號碼正則驗證函數可以說是最新的都支持的,里面有詳細的介紹說明,不論以后增加什么號段大家都非常容易的稍微修改一下即可。
    javascript 手機號碼正則表達式驗證函數

    代碼如下:

    //ip與域名驗證函數
    function checkIP()
    {
    var ipArray,ip,j;
    ip = document.ipform.ip.value;

    if(/[A-Za-z_-]/.test(ip)){
    if (ip.indexOf(" ")>=0){
    ip = ip.replace(/ /g,"");
    document.ipform.ip.value = ip;
    }
    if (ip.toLowerCase().indexOf("http://")==0){
    ip = ip.slice(7);
    document.ipform.ip.value = ip;
    }
    if(!/^([\w-]+\.)+((com)|(net)|(org)|(gov\.cn)|(info)|(cc)|(com\.cn)|(net\.cn)|(org\.cn)|(name)|(biz)|(tv)|(cn)|(mobi)|(name)|(sh)|(ac)|(io)|(tw)|(com\.tw)|(hk)|(com\.hk)|(ws)|(travel)|(us)|(tm)|(la)|(me\.uk)|(org\.uk)|(ltd\.uk)|(plc\.uk)|(in)|(eu)|(it)|(jp))$/.test(ip)){
    alert("不是正確的域名");
    document.ipform.ip.focus();
    return false;
    }
    }
    else{
    ipArray = ip.split(".");
    j = ipArray.length
    if(j!=4)
    {
    alert("不是正確的IP");
    document.ipform.ip.focus();
    return false;
    }

    for(var i=0;i<4;i++)
    {
    if(ipArray[i].length==0 || ipArray[i]>255)
    {
    alert("不是正確的IP");
    document.ipform.ip.focus();
    return false;
    }
    }
    }
    }
    //手機號碼驗證函數
    function checkMobile(){
    var sMobile = document.mobileform.mobile.value
    if(!(/^1[3|4|5|8][0-9]\d{4,8}$/.test(sMobile))){
    alert("不是完整的11位手機號或者正確的手機號前七位");
    document.mobileform.mobile.focus();
    return false;
    }
    }
    //郵政編碼驗證函數
    function checkZip(){
    var sZip = document.zipform.zip.value
    if(!(/^\d{4,6}$/.test(sZip))){
    alert("請輸入郵政編碼前4-6位");
    return false;
    }
    }
    //區號驗證
    function checkZone(){
    var sZone = document.zoneform.zone.value
    if(!(/^0\d{2,6}$/.test(sZone))){
    alert("請輸入以“0”開頭的3-7位區號");
    return false;
    }
    }
    //身份證驗證
    function checkID(){
    var sID = document.IDform.userid.value
    if(!(/^\d{15}$|^\d{18}$|^\d{17}[xX]$/.test(sID))){
    alert("請輸入15位或18位身份證號");
    document.IDform.userid.focus();
    return false;
    }

     



    brock 2010-12-27 10:11 發表評論
    ]]>
    數組重復 splice()http://www.aygfsteel.com/brock/archive/2008/11/19/241469.htmlbrockbrockWed, 19 Nov 2008 12:00:00 GMThttp://www.aygfsteel.com/brock/archive/2008/11/19/241469.htmlhttp://www.aygfsteel.com/brock/comments/241469.htmlhttp://www.aygfsteel.com/brock/archive/2008/11/19/241469.html#Feedback0http://www.aygfsteel.com/brock/comments/commentRss/241469.htmlhttp://www.aygfsteel.com/brock/services/trackbacks/241469.html function delRepeat(arr){
     var len = arr.length;
     for(var i=len-1;i>=1;i--)
     {       
     if(arr[i-1] == arr[i])    
        {         
       arr.splice(i,1);//splice()方法的應用   
         } 
       }
     //return arr;
    }

    Array.prototype.delRepeat=function()
    {
    var tmpArr=[],rs=[],i,val;
    for(i=this.length;i>0;i--)
    {
    val = this[i-1];
    if(!tmpArr[val])
    {
    tmpArr[val]=1;
    }else
    {
    rs.push(val);
    this.splice(i-1,1);
    }
    }
    tmpArr = null;
    return rs;
    }

    兩個優點:
    1、預先將this[i-1]保存在變量val中,減少訪問次數。
    2、使用array.push方法,替換用變量保存數組長度的辦法。



    JavaScript splice() 方法
    返回 JavaScript Array 對象參考手冊
    定義和用法
    splice() 方法用于插入、刪除或替換數組的元素。

    語法
    arrayObject.splice(index,howmany,element1,..,elementX)參數 描述 
    index 必需。規定從何處添加
    /刪除元素。

    該參數是開始插入和(或)刪除的數組元素的下標,必須是數字。
     
    howmany 必需。規定應該刪除多少元素。必須是數字,但可以是 
    "0"

    如果未規定此參數,則刪除從 index 開始到原數組結尾的所有元素。
     
    element1 可選。規定要添加到數組的新元素。從 index 所指的下標處開始插入。 
    elementX 可選。可向數組添加若干元素。 

    返回值
    如果從 arrayObject 中刪除了元素,則返回的是含有被刪除的元素的數組。

    說明
    splice() 方法可刪除從 index 處開始的零個或多個元素,并且用參數列表中聲明的一個或多個值來替換那些被刪除的元素。
    提示和注釋
    注釋:請注意,splice() 方法與 slice() 方法的作用是不同的,splice() 方法會直接對數組進行修改。
    實例
    例子 
    1
    在本例中,我們將創建一個新數組,并向其添加一個元素:

    <script type="text/javascript">

    var arr = new Array(6)
    arr[
    0= "George"
    arr[
    1= "John"
    arr[
    2= "Thomas"
    arr[
    3= "James"
    arr[
    4= "Adrew"
    arr[
    5= "Martin"

    document.write(arr 
    + "<br />")
    arr.splice(
    2,0,"William")
    document.write(arr 
    + "<br />")

    </script>輸出:

    George,John,Thomas,James,Adrew,Martin
    George,John,William,Thomas,James,Adrew,Martin例子 
    2
    在本例中我們將刪除位于 index 
    2 的元素,并添加一個新元素來替代被刪除的元素:

    <script type="text/javascript">

    var arr = new Array(6)
    arr[
    0= "George"
    arr[
    1= "John"
    arr[
    2= "Thomas"
    arr[
    3= "James"
    arr[
    4= "Adrew"
    arr[
    5= "Martin"

    document.write(arr 
    + "<br />")
    arr.splice(
    2,1,"William")
    document.write(arr)

    </script>輸出:

    George,John,Thomas,James,Adrew,MartinGeorge,John,William,James,Adrew,Martin例子 
    3
    在本例中我們將刪除從 index 
    2 ("Thomas") 開始的三個元素,并添加一個新元素 ("William") 來替代被刪除的元素:

    <script type="text/javascript">

    var arr = new Array(6)
    arr[
    0= "George"
    arr[
    1= "John"
    arr[
    2= "Thomas"
    arr[
    3= "James"
    arr[
    4= "Adrew"
    arr[
    5= "Martin"

    document.write(arr 
    + "<br />")
    arr.splice(
    2,3,"William")
    document.write(arr)

    </script>輸出:

    George,John,Thomas,James,Adrew,MartinGeorge,John,William,MartinTIY
    splice() 
    如何使用 splice() 來更改數組。 


    brock 2008-11-19 20:00 發表評論
    ]]>
    退出時執行 (判斷當前頁面是刷新還是關閉) http://www.aygfsteel.com/brock/archive/2008/11/19/241421.htmlbrockbrockWed, 19 Nov 2008 08:36:00 GMThttp://www.aygfsteel.com/brock/archive/2008/11/19/241421.htmlhttp://www.aygfsteel.com/brock/comments/241421.htmlhttp://www.aygfsteel.com/brock/archive/2008/11/19/241421.html#Feedback0http://www.aygfsteel.com/brock/comments/commentRss/241421.htmlhttp://www.aygfsteel.com/brock/services/trackbacks/241421.html   <HEAD>  
      <TITLE>   New   Document   </TITLE>  
      <script>  
      //判斷當前頁面是刷新還是關閉  
      function   a(){  
      if(event.clientX<=0&&   event.clientY   <   0){//>0是刷新,<=0是關閉當前頁  
            alert("開新的");  
                              openwin();  
                        }else{  
            alert("不開新的");  
                        }  
      }  
      </script>  
      </HEAD>  
       
      <BODY   onUnload="a();">  
       
      </BODY>  
      </HTML>  

    brock 2008-11-19 16:36 發表評論
    ]]>
    Trim() , Ltrim() , RTrim()http://www.aygfsteel.com/brock/archive/2007/07/19/131255.htmlbrockbrockThu, 19 Jul 2007 05:59:00 GMThttp://www.aygfsteel.com/brock/archive/2007/07/19/131255.htmlhttp://www.aygfsteel.com/brock/comments/131255.htmlhttp://www.aygfsteel.com/brock/archive/2007/07/19/131255.html#Feedback0http://www.aygfsteel.com/brock/comments/commentRss/131255.htmlhttp://www.aygfsteel.com/brock/services/trackbacks/131255.html<!--
    //出處:網上搜集
    //made by yaosansi 2005-12-02
    //For more visit http://www.yaosansi.com
    // Trim() , Ltrim() , RTrim()

    String.prototype.Trim = function()
    {
    return this.replace(/(^\s*)|(\s*$)/g, "");
    }

    String.prototype.LTrim = function()
    {
    return this.replace(/(^\s*)/g, "");
    }

    String.prototype.RTrim = function()
    {
    return this.replace(/(\s*$)/g, "");
    }

    //-->
    </SCRIPT>



    brock 2007-07-19 13:59 發表評論
    ]]>
    不同域調用 ajaxhttp://www.aygfsteel.com/brock/archive/2007/07/16/130563.htmlbrockbrockMon, 16 Jul 2007 06:17:00 GMThttp://www.aygfsteel.com/brock/archive/2007/07/16/130563.htmlhttp://www.aygfsteel.com/brock/comments/130563.htmlhttp://www.aygfsteel.com/brock/archive/2007/07/16/130563.html#Feedback0http://www.aygfsteel.com/brock/comments/commentRss/130563.htmlhttp://www.aygfsteel.com/brock/services/trackbacks/130563.htmlfunction AjaxScript(url, varName, params, onsuccess)
    {    
        
    var arr = document.getElementsByTagName("script");
        
    var url =url.toLowerCase();
        
    var isLoad = true;
        
    if (arr)
        
    {
            
    for(i=0; i<arr.length; i++)
            
    {
                
    var src = arr[i].src;
                
    if (src) 
                
    {
                    
    if (src.toLowerCase() == url) { isLoad = false; }
                }

            }

        }

        
        
    if (isLoad)
        
    {
            
    var s = document.createElement("script");
            
            
    var params = (params ? params : ""+ (params && varName ? "&" : ""+ (varName ? "varName=" + varName : "")
            
            
    if (url.indexOf("?">= 0)
            
    {
                url 
    += (params && params != "" ? "&" + params  : "");
            }

            
    else
            
    {
                url 
    += (params && params != "" ? "?" + params : "");
            }

            
            s.src 
    = url;
            s.type 
    = "text/javascript";
            s.onreadystatechange 
    = function()
            
    {    
                
    switch(this.readyState)
                
    {
                    
    case "complete":
                    
    case "loaded":
                        eval(
    "try {    if (onsuccess) { onsuccess({0}); delete {0}; }    }catch(e){}".format((varName ?  varName : "")));
                        
    break;
                        
                    
    case "loading":
                        
    break;
                }

            }

            s.onload 
    = function() { eval("try {    if (onsuccess) { onsuccess({0}); delete {0}; }    }catch(e){}".format((varName ?  varName : ""))); }
            
    var arr = document.getElementsByTagName("head");
            
    var h= arr[0];
            document.body.appendChild(s);
        }

    }


    brock 2007-07-16 14:17 發表評論
    ]]>
    js 也玩hashhttp://www.aygfsteel.com/brock/archive/2007/07/03/127833.htmlbrockbrockTue, 03 Jul 2007 06:38:00 GMThttp://www.aygfsteel.com/brock/archive/2007/07/03/127833.htmlhttp://www.aygfsteel.com/brock/comments/127833.htmlhttp://www.aygfsteel.com/brock/archive/2007/07/03/127833.html#Feedback0http://www.aygfsteel.com/brock/comments/commentRss/127833.htmlhttp://www.aygfsteel.com/brock/services/trackbacks/127833.html 1 /**
     2  * Project:        
     3  * Author:        zhy
     4  * Company:     
     5  * Created Date:    2007-6-29
     6  * 
     7  * Copyright @ 2007
     8  * 
     9  * History:
    10  * ------------------------------------------------------------------------------
    11  * Date            |time        |Author    |Change Description        */
    12 
    13 var Obj = function (key ,value){
    14    this.key = key; 
    15    this.value = value;
    16 };
    17 var ha = new Array();
    18 var Hash = function (){
    19    //this.a =ha;
    20 }
    21 Hash.prototype.haa = function (){
    22     return ha;
    23 }
    24 Hash.prototype.clear = function (){
    25     ha = new Array();
    26 }
    27 Hash.prototype.clone = function (){
    28     return this;
    29 }
    30 Hash.prototype.get = function (key){
    31    
    32     for(var i=0;i<ha.length ;i++){
    33         if(ha[i].key==key){
    34             return ha[i].value;
    35         }
    36     }
    37    
    38 }
    39 Hash.prototype.put = function (key ,value){
    40 
    41     if(ha.length !=0){
    42        
    43          for(var i=0;i<ha.length;i++){
    44             if(ha[i].key != key){
    45                  ha[ha.length]=new Obj(key ,value);
    46             }
    47          }    
    48     }else{
    49          ha[ha.length]=new Obj(key ,value);
    50    }
    51    
    52  
    53 }
    54 
    55 Hash.prototype.size = function (){
    56     return ha.length ;
    57 }
    58 
    59 Hash.prototype.remove = function (key){
    60       for(var i=0;i<ha.length;i++){
    61         if(ha[i].key == key){
    62            ha.without(ha[i]);
    63         }
    64     }
    65 


    brock 2007-07-03 14:38 發表評論
    ]]>
    主站蜘蛛池模板: 阿巴嘎旗| 应城市| 闵行区| 卢龙县| 化德县| 山东省| 双桥区| 宁阳县| 宜阳县| 新昌县| 呼图壁县| 徐州市| 阿克| 祁门县| 禹州市| 宾川县| 礼泉县| 滦南县| 连江县| 金坛市| 根河市| 四子王旗| 枣强县| 天祝| 临泽县| 拜城县| 林周县| 汨罗市| 饶河县| 石泉县| 漯河市| 寿阳县| 姚安县| 新干县| 香格里拉县| 安丘市| 古蔺县| 中阳县| 沂南县| 昔阳县| 闸北区|