<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
        問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        Js組件的一些寫(xiě)法_javascript技巧

        來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 20:54:54
        文檔

        Js組件的一些寫(xiě)法_javascript技巧

        Js組件的一些寫(xiě)法_javascript技巧:今天看了rank的一篇javascript腳本控件topic,突然想總結(jié)一下一些寫(xiě)JS組件的方法,或者說(shuō)一些不同人的不同coding style。 首先看下Prototype里的寫(xiě)法: 代碼如下: var Class = { create: function() { return function()
        推薦度:
        導(dǎo)讀Js組件的一些寫(xiě)法_javascript技巧:今天看了rank的一篇javascript腳本控件topic,突然想總結(jié)一下一些寫(xiě)JS組件的方法,或者說(shuō)一些不同人的不同coding style。 首先看下Prototype里的寫(xiě)法: 代碼如下: var Class = { create: function() { return function()

        今天看了rank的一篇javascript腳本控件topic,突然想總結(jié)一下一些寫(xiě)JS組件的方法,或者說(shuō)一些不同人的不同coding style。

          首先看下Prototype里的寫(xiě)法:
        代碼如下:
        var Class = {
        create: function() {
        return function() { this.init.apply(this, arguments); }
        }
        }
        var A = Class.create();
        A.prototype = {
        init: function(msg) {
        this.msg = msg;
        },
        fn: function() {
        alert(this.msg);
        }
        }
        var a = new A("myMsg");
        a.fn();

        如果你不喜歡上面這一大堆Class.create之類(lèi)的,你也可以這樣:
        代碼如下:
        function A() { } //var A = function(){}
        A.prototype = {
        init: function(msg) {
        this.msg = msg;
        },
        fn: function() {
        alert(this.msg);
        }
        }
        var a = new A();
        a.init("myMsg");
        a.fn();

        當(dāng)然,也可以把this.msg的初始化放到function A(msg){this.msg=msg;}里??傊銜?huì)發(fā)現(xiàn)這樣調(diào)用很麻煩,并且參數(shù)是固定對(duì)應(yīng)好的。
          你如果既不愿搞一大堆Class.create,也不愿調(diào)用不方便,那就把Prototype里的var Class = {...} 和 var A = Class.create();合并起來(lái)。得到:
        代碼如下:
        function A() {
        this.init.apply(this, arguments);
        }
        A.prototype = {
        init: function(msg) {
        this.msg = msg;
        },
        fn: function() {
        alert(this.msg);
        }
        }
        var a = new A("myMsg");
        a.fn();

        看上去干凈了許多,但是如果你的庫(kù)里有很多組件,則每個(gè)組件都要寫(xiě)一遍this.init.apply(this, arguments); 如果用Class.create的話,則只要寫(xiě)一個(gè)Class,然后每個(gè)組件執(zhí)行下Class.create()即可。當(dāng)然,每個(gè)組件都寫(xiě)一遍this.init.apply(this, arguments);也沒(méi)啥不好的,還是看個(gè)人喜好了。另外寫(xiě)原型方法是合在一起還是分開(kāi)來(lái)寫(xiě)也是個(gè)人喜好,出于封裝的角度,合一起好,但是分開(kāi)有時(shí)候顯的更清晰。譬如A.prototype.init=function(msg){...} A.prototype.fn=function(){...}

          然后還有人喜歡這樣去寫(xiě)組件:
        代碼如下:
        var A = function(msg) {
        this.msg = msg;
        var _this = this;
        var privateFn1 = function() {
        alert(_this.msg);
        }
        var privateFn2 = function() {
        alert(_this.msg);
        }
        return { fn1: privateFn1, fn2: privateFn2 };
        }
        var a = new A("myMsg");
        a.fn1();

        這邊一定要把A構(gòu)造的對(duì)象this放到臨時(shí)變量_this中哦,因?yàn)檫\(yùn)行時(shí),privateFn1的函數(shù)體內(nèi)this實(shí)際是{fn1:...,fn2:...}這樣的匿名對(duì)象,你可以用this.hasOwnProperty("fn1")去測(cè)試。this是在運(yùn)行時(shí)才有意義的一個(gè)東西。另外這種方法每個(gè)對(duì)象都會(huì)有privateFn1 和 privateFn2的副本,這種方法不太好。

          (未完待續(xù),下面會(huì)講些不同框架的一些寫(xiě)法)
        作者:JayChow

        聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        Js組件的一些寫(xiě)法_javascript技巧

        Js組件的一些寫(xiě)法_javascript技巧:今天看了rank的一篇javascript腳本控件topic,突然想總結(jié)一下一些寫(xiě)JS組件的方法,或者說(shuō)一些不同人的不同coding style。 首先看下Prototype里的寫(xiě)法: 代碼如下: var Class = { create: function() { return function()
        推薦度:
        標(biāo)簽: js 寫(xiě)法 javascript
        • 熱門(mén)焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門(mén)推薦

        專(zhuān)題
        Top
        主站蜘蛛池模板: 亚洲精品网站在线观看你懂的| 国产在线观看免费视频播放器| 久久精品国产亚洲av麻豆| 成人片黄网站色大片免费观看cn| 狼友av永久网站免费观看| 亚洲精品9999久久久久无码| 成人毛片免费观看视频在线| 亚洲精品二三区伊人久久| 手机在线免费视频| 久久亚洲AV成人无码国产电影| 午夜电影免费观看| 免费国产在线精品一区| 亚洲精品成人网站在线观看| 免费无码一区二区三区| 亚洲国产成人久久精品app| 国产福利视精品永久免费| 亚洲中文字幕一二三四区| 日本不卡高清中文字幕免费| fc2成年免费共享视频网站| 亚洲av无码不卡一区二区三区| 精品久久8x国产免费观看| 亚洲男人天堂2022| 免费人成视频在线观看不卡| 精品国产免费人成网站| 亚洲一区免费观看| 性感美女视频免费网站午夜| 免费激情网站国产高清第一页| 亚洲精品中文字幕乱码三区| 国产精品免费观看| 黄色一级视频免费| 亚洲一卡2卡三卡4卡有限公司| 免费观看AV片在线播放| 边摸边吃奶边做爽免费视频网站| 国产亚洲精品看片在线观看| 亚洲精品视频免费在线观看| 国产精品亚洲а∨天堂2021 | 亚洲校园春色另类激情| 在线观着免费观看国产黄| 国产精品福利片免费看| 亚洲国产成人久久三区| heyzo亚洲精品日韩|