日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > web前端 > jscript > 嘆一下我的 jskit 的核心代碼

嘆一下我的 jskit 的核心代碼

來(lái)源:程序員人生   發(fā)布時(shí)間:2014-01-19 16:30:44 閱讀次數(shù):3131次

  網(wǎng)(LieHuo.Net)教程 我的JSKit 蠻早就開始寫了 一直都不滿意 也沒(méi)怎么用得上。在此其間 下載了眾多的框架 看他們的架構(gòu)、設(shè)計(jì) 也沒(méi)有找到令自己滿意的版本 最終還是不斷的改進(jìn) 其實(shí)就是一直在減少核心的代碼 到最終我比較滿意的版本 結(jié)果只封裝了兩個(gè)公共方法 一個(gè)是Import(載入代碼) 另一個(gè)是Run(執(zhí)行代碼)。

  為什么網(wǎng)上那么多優(yōu)秀的 功能強(qiáng)大的框架我都不滿意?因?yàn)?我對(duì)框架的需求其實(shí)非常的簡(jiǎn)單 我只需要它可以管理組織好我的代碼就OK了 我不需要在實(shí)現(xiàn)一個(gè)簡(jiǎn)單的功能時(shí) 載入一堆在我實(shí)現(xiàn)某功能過(guò)程中 根本用不到的代碼 我很討厭這種浪費(fèi) 所以尋覓了很久 都沒(méi)找到很中意的東西。

  作為一名入門沒(méi)多久的程序,一直追求簡(jiǎn)單的邏輯代碼,所以對(duì)于一些浪費(fèi)是很看不慣的,對(duì)于一些復(fù)雜的邏輯 看了半天也看不懂,最后都是手寫了事。回顧這些年的編碼之路,可悲的發(fā)現(xiàn),這輩子只能處于入門級(jí)別了,達(dá)不到更高的專家(師)級(jí)別了,因?yàn)閷W(xué)得太雜,精力被分散了。如果有來(lái)生,我想我會(huì)爭(zhēng)取一條道走到黑。

  另外,再講兩句下面的這段代碼,因?yàn)榇a很少,所以也沒(méi)啥注釋可寫,只講一下思路吧。

  Import方法:載入一個(gè)類,可以是一個(gè)很簡(jiǎn)單的類,也可以是一個(gè)框架。 我的組織管理代碼的想法主要是通過(guò)import方法實(shí)現(xiàn) 比如我在jskit中建了一個(gè) com.imcjj子文件夾,里面放了一個(gè)Browser.js 文件 就通過(guò) JK.Import("com.imcjj/Browser") 導(dǎo)入Browser.js文件的代碼 "JK"是JSKit的一個(gè)實(shí)例

以下為引用的內(nèi)容:
/**
* CJJ's JavaScript Kit
*
* @type      : class
* @version   : v1.0 build 20090826
* @memo      : none
* -----------------------------------
* Copyright (c) cjj rusty_sun[AT]hotmail.com
*/
function JSKit(path){
    if(!path){return null};
    /*private member variable*/
    var _runTimer=null, _importManage=[], _path=path;
    /*public method*/
    JSKit.prototype.Import=function(file){
        var script;
    var jskit=this;
        if(!_importManage[file]){_importManage[file]="loading"};
        if(_importManage[file]!="loaded"){
            script=document.createElement("script");
            script.src =_path+file+".js";
            script.onreadystatechange=function(){
                if(this.readyState=='complete'){
                    var lastClass=file.substring(file.lastIndexOf("/")+1,file.length);
                    if(lastClass=="Import"||lastClass=="Run"){return};
                    jskit[lastClass]=eval(lastClass);
                    _importManage[file]="loaded";
                    script.onreadystatechange=null;
                    return
                }
            };
            script.onload=function(){
                var lastClass=file.substring(file.lastIndexOf("/")+1,file.length);
                if(lastClass=="Import"||lastClass=="Run"){return};
                jskit[lastClass]=eval(lastClass);
                _importManage[file]="loaded";
                script.onload=null;
            };
            document.getElementsByTagName("head")[0].appendChild(script);
        }
    };/*end of Import*/
    JSKit.prototype.Run=function(code){
        var loaded=true;
        var jskit=this;
        for(importFile in _importManage){
            if(_importManage[importFile]=="loading"){loaded=false;break}
        };
        if(!loaded){_runTimer=setTimeout(function(){jskit.Run(code)},500); return};
        if(_runTimer){clearTimeout(_runTimer)};
        if(typeof(code)=="function"){code()}
    };/*end of "Run"*/
}

  調(diào)用演示:

以下為引用的內(nèi)容:
var JK=new JSKit("/jskit/jskit.src/");
if(JK){
    JK.Import("com.imcjj/FormValidate");
    JK.Import("com.imcjj/Browser");
    JK.Run(function(){
        var browser=new JK.Browser();
        alert(browser.name+""+browser.agent);
        var oFormValidate=new JK["FormValidate"]("frmDemo");
        var oObj=oFormValidate._form;
        if(!oObj){alert("未發(fā)現(xiàn)表單,無(wú)法進(jìn)行表單驗(yàn)證");document.close();}
        var oTip=new Tip();
        oTip._struct="<strong>{#text#}</strong>";
        oTip._inertDirection=0;
        oTip.add("tip_Name", "tip_bottom", "自定義提示消息", oObj.elements["Name"].parentNode,"SPAN", "<strong>{#text#}</strong>");
        //添加外部驗(yàn)證函數(shù)
        //oFormValidate.addValidate("isDate",fnCheckDate,"f","日期是否正確?");
        //參數(shù):驗(yàn)證方法,需要驗(yàn)證的表單元素的ID屬性 加*號(hào)表示該項(xiàng)為必填項(xiàng)
        oFormValidate.addRule("isNotNull","*Card");
        //oFormValidate.addRule("isDate","*Birthday");
        //調(diào)用自定義驗(yàn)證規(guī)則
        //AJAX驗(yàn)證最后一個(gè)是AJAX驗(yàn)證函數(shù)參數(shù)列表:'getName.asp
        oFormValidate.addRule("isExists","Name",["'getName.asp'"], oTip);
        oFormValidate.addRule("isLen","*Password",[4,8]);
        oFormValidate.addRule("isSame","*Password1",["'password2'"]);
        oFormValidate.listen();
    });
}

生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 亚洲精品99| 色综合久久婷婷 | 一级毛片在线 | 国产精品久久久精品 | 色婷婷一区二区三区四区成人网 | 久久亚洲愉拍国产自367391 | 欧美人xxx| 国产精品黄色 | 69国产精品成人96视频色 | 久久国产一区 | 91精品久久久久久久99蜜桃 | 国产成人精品综合 | 国产在线视频一区 | 日韩天堂av | 亚洲热视频| 久久久精品网站 | 免费国产网站 | 91免费在线看| 国产精品美女久久久久 | 国产精品美乳一区二区免费 | 亚洲精品a | 欧美精品一区二区三区蜜桃视频 | www国产亚洲精品久久网站 | 日韩精品无码一区二区三区 | 国产成人久久精品麻豆二区 | 在线观看毛片网站 | 天天综合一区 | 久久精品网 | 亚洲欧美一区二区三区在线 | 日韩一二三 | 国产尤物av尤物在线观看臀 | 欧美日韩免费在线观看 | 日韩视频欧美视频 | 国产一区二区三区免费观看视频 | 99精品在线观看 | aaa日本高清在线播放免费观看 | 精品久久久一区二区 | 色五月婷婷成人网 | 亚洲性视频 | 日韩精品成人在线观看 | 欧美精品在线免费观看 |