中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      讓你我減少對jQuery的依賴度

      時間:2024-07-21 02:26:35 jQuery Mobile 我要投稿
      • 相關(guān)推薦

      讓你我減少對jQuery的依賴度

        雖然現(xiàn)在慢慢減少了對jQuery的使用(項(xiàng)目上還是用,效率高點(diǎn)。平時基本不用了),希望從而減少對jQuery的依賴度。

        但是這鏈?zhǔn)讲僮鞯姆绞綄?shí)在吸引人(貌似現(xiàn)在不少新庫都采用了鏈?zhǔn)讲僮鳎?/p>

        新手無畏嘛,所以寫了以下代碼。主要是避免以后又忘了,呵呵。

        復(fù)制代碼 代碼如下:

        window.k = function() {

        return new k.fn.init(arguments);

        }

        k.fn = k.prototype = {

        init:function() {

        this.length = 0;

        //var args = Array.prototype.slice.call(arguments,0);

        Array.prototype.push.apply(this,arguments[0]);

        return this;

        },

        show:function() {

        console.log(Array.prototype.slice.call(this,0).join("$"));

        return this;

        },

        hide:function() {

        console.log(this);

        return this;

        }

        }

        k.fn.init.prototype = k.fn;

        console.log(k("0",1,2,3,4,5).show().hide());

        這只是進(jìn)行了鏈?zhǔn)讲僮鳌5窃趂irbug下可以看到j(luò)Query對象返回的是數(shù)組/類數(shù)組。要實(shí)現(xiàn)這個卻不知道怎么辦好。。

        總不能讓k.fn.prototype = new Array()吧。真要看jQuery源代碼還真是有點(diǎn)累。。

        下面是針對網(wǎng)友的一些回復(fù)

        其實(shí)鏈?zhǔn)讲僮骱芎唵危褪敲看畏祷夭僮鲗ο蟊旧恚@樣就可以持續(xù)的調(diào)用該對象本身定義的所有方法了。

        最簡單的例子:

        復(fù)制代碼 代碼如下:

        var o = function() {

        /**

        do something

        */

        return this;

        }

        o.prototype = {

        action1: function() {

        /**

        do something

        */

        return this;

        },

        action2: function() {

        /**

        do something

        */

        return this;

        }

        }

        你可以這樣調(diào)用:

        new o() //

        .action1() //

        .action2(); //每一步操作返回的都是實(shí)例化的o對象

        它其實(shí)等同于這樣:

        var a = new o();//如果沒有返回this,那么就不能在這里繼續(xù)調(diào)用了。因?yàn)榉祷氐氖莡ndefined。

        a.action1(); //這個時候就只能對a(實(shí)例化的o對象的引用)來操作。

        a.action2();

        如果你用過jQuery就應(yīng)該發(fā)現(xiàn)了。jQuery并不需要你使用new來實(shí)例化一個對象,在使用的時候顯得更方便。

        所以我們定義另一個對象來封裝上面提到的o對象:

        var k = function() {

        return new o();

        }

        這樣我們就可以這樣調(diào)用了:

        k().action1().action2();

        我為你推薦 一個叫 "函數(shù)化"的 構(gòu)造JS的方法。

        復(fù)制代碼 代碼如下:

        //加粗表示強(qiáng)調(diào)

        //這個方法是 《javascript語言精粹》第52頁 5.4函數(shù)化 上的。

        var constructor = function (spec,my){

        var that,其他的私有實(shí)例變量;

        my = my || {};

        把共享的變量和函數(shù)添加到my中

        that = 一個新對象

        添加給that 的特權(quán)方法

        return that;

        }

      【讓你我減少對jQuery的依賴度】相關(guān)文章:

      jquery提交按鈕的代碼03-30

      jQuery程序設(shè)計(jì)03-30

      如何理解jquery事件冒泡03-29

      jQuery的DOM操作筆記03-29

      淺析jQuery 遍歷函數(shù)javascript03-29

      jQuery中prev()方法用法03-30

      jQuery中replaceAll()方法用法03-30

      基于jQuery的固定表格頭部的代碼03-30

      jQuery 源碼分析和Ready函數(shù)03-29

      主站蜘蛛池模板: 精品免费久久久久国产一区| 午夜国产精品视频在线 | 天祝| 国内精品91久久久久| 亚洲精品中文字幕综合| 国产成年无码aⅴ片在线观看| 亚洲国产精品一区二区第一| 亚洲中文字幕av一区二区三区人| 日本久久精品有码视频| 吴桥县| 莆田市| 简阳市| 国产精品99久久免费观看| 久久久亚洲精品蜜桃臀| 国产剧情无码中文字幕在线观看不卡视频| 国产精品亚洲一区二区极品 | 国产一区亚洲欧美成人| 国产欧美亚洲另类第一页| 垦利县| 泸溪县| 隆昌县| 永福县| 兰溪市| 司法| 大兴区| 国产精品亚洲综合色区韩国| 99亚洲乱人伦精品| 一级无码啪啪| 久久精品中文字幕久久| 亚洲乱熟女一区二区三区不卡| 国产成人一区二区三区久久精品 | 社会| 亚洲色图在线视频免费观看| 华安县| 成人免费在线网站亚洲| 国产一区二区三区四区色| 在线偷窥制服另类| 国产亚洲精品不卡在线| 人妖另类综合视频网站| 久久亚洲午夜牛牛影视| 无码成人AV在线一区二区|