成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

JS 鏈?zhǔn)秸{(diào)用 原理及實(shí)踐

BingqiChen / 1213人閱讀

摘要:一鏈?zhǔn)骄幋a好處同一對(duì)象多次其屬性或方法的時(shí)候,我們需要多次書(shū)寫(xiě)對(duì)象進(jìn)行或操作鏈?zhǔn)秸{(diào)用是一種簡(jiǎn)化此過(guò)程的一種編碼方式,使代碼簡(jiǎn)潔易讀。

一、鏈?zhǔn)骄幋a
好處
同一對(duì)象多次其屬性或方法的時(shí)候,我們需要多次書(shū)寫(xiě)對(duì)象進(jìn)行“.” 或 () 操作;鏈?zhǔn)秸{(diào)用是一種簡(jiǎn)化此過(guò)程的一種編碼方式,使代碼簡(jiǎn)潔、易讀。

舉個(gè)栗子(深刻不是很貼切的):日常餐廳取餐,通常我們一次拿取想要的食物一起結(jié)賬,如果每樣食物要分開(kāi)取餐結(jié)賬估計(jì)內(nèi)心的草泥馬要躁動(dòng)起來(lái)了。

常用場(chǎng)景

#jQuery的Dom操作
$("select").on("click", callback)
           .on("change", callback);
#gulp編譯
gulp.src("/path/to/**.less")
    .pipe(less())
    .pipe(cssmin())

(廢話不多說(shuō),切入正題…… )

二、鏈?zhǔn)骄幋a的原理
鏈?zhǔn)秸{(diào)用原理就是作用域鏈;實(shí)現(xiàn)需要做的工作;

對(duì)象方法的處理 (操作方法)

處理完成返回對(duì)象的引用(操作對(duì)象)
第2步鏈?zhǔn)綄?shí)現(xiàn)的方式:
<1> this的作用域鏈,jQuery的實(shí)現(xiàn)方式;【示例1】
<2> 返回對(duì)象本身, 同this的區(qū)別就是顯示返回鏈?zhǔn)綄?duì)象;【示例2】
<3> 閉包返回對(duì)象通過(guò)調(diào)用覆蓋valueOf方法實(shí)現(xiàn),副作用獲取結(jié)果需要調(diào)用valueOf;(此種方法適用于操作方法有相互依賴的情況下使用)【示例3】

示例1 根據(jù)一個(gè)人的年齡獲取其年齡段 在線效果

person.set(10).get(); // 我還是個(gè)少年
var Person = function() {};
Person.prototype.set = function (age){
    this.age = 10; 
    return this; //this調(diào)用位置決定其詞法作用域
}
Person.prototype.get = function (){
    var age = this.age;
    if(age < 6){
        return "我還是個(gè)寶寶";
    }else if(age < 18){
        return "我還是個(gè)少年";
    }else{
     //……
    }
}

var person = new Person();
person.set(10).get(); // "我還是個(gè)少年"

示例2 示例1的實(shí)現(xiàn) 在線效果

var person = {
    set: function (age){
        this.age = 10;  //this調(diào)用位置決定其詞法作用域
        return person;
    },
    get: function (){
        var age = this.age;
        if(age < 6){
            return "我還是個(gè)寶寶";
        }else if(age < 18){
            return "我還是個(gè)少年";
        }else{
         //……
        }
    }
} 

示例3 實(shí)現(xiàn)詞語(yǔ)接龍游戲拼接,依賴上次的拼接結(jié)果 胸有成竹 -> 竹報(bào)平安 -> 安富尊榮 在線效果

wordschain("胸有成竹")("竹報(bào)平安")("安富尊榮").valueOf()
function wordschain(word){
    var words = word;
    function chain(word){
        words += " -> " + word;
        return chain; //操作對(duì)象本身
    }
    // valueOf 對(duì)象原始值chain [了解更多][5]
    chain.valueOf = function(){
        return words;
    }
    return chain;
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/89515.html

相關(guān)文章

  • 從0開(kāi)始擼一個(gè)Promise(一)

    摘要:說(shuō)白了,就是給聲明的添加一個(gè)包含空的對(duì)象,再由函數(shù)返回這個(gè)空。如此構(gòu)成一個(gè)層層包裹的鏈。四首先本質(zhì)是一個(gè)遞歸函數(shù),結(jié)束條件是,即終止到未掛載對(duì)象的子為止。可以看到這個(gè)函數(shù)的作用就是根據(jù)屬性逐個(gè)觸發(fā)鏈中的或函數(shù)。 背景 Promise是一種非常實(shí)用的異步編程方案,本文對(duì)于Promise源碼的分析可以增進(jìn)讀者對(duì)于Promise原理的理解,以后不再害怕異步編程,不用擔(dān)心callback he...

    MSchumi 評(píng)論0 收藏0
  • JavaScript 工作原理之四-事件循環(huán)異步編程的出現(xiàn)和 5 種更好的 async/await

    摘要:函數(shù)會(huì)在之后的某個(gè)時(shí)刻觸發(fā)事件定時(shí)器。事件循環(huán)中的這樣一次遍歷被稱為一個(gè)。執(zhí)行完畢并出棧。當(dāng)定時(shí)器過(guò)期,宿主環(huán)境會(huì)把回調(diào)函數(shù)添加至事件循環(huán)隊(duì)列中,然后,在未來(lái)的某個(gè)取出并執(zhí)行該事件。 原文請(qǐng)查閱這里,略有改動(dòng)。 本系列持續(xù)更新中,Github 地址請(qǐng)查閱這里。 這是 JavaScript 工作原理的第四章。 現(xiàn)在,我們將會(huì)通過(guò)回顧單線程環(huán)境下編程的弊端及如何克服這些困難以創(chuàng)建令人驚嘆...

    maochunguang 評(píng)論0 收藏0
  • Java面試通關(guān)要點(diǎn)匯總集

    摘要:本文會(huì)以引出問(wèn)題為主,后面有時(shí)間的話,筆者陸續(xù)會(huì)抽些重要的知識(shí)點(diǎn)進(jìn)行詳細(xì)的剖析與解答。敬請(qǐng)關(guān)注服務(wù)端思維微信公眾號(hào),獲取最新文章。 原文地址:梁桂釗的博客博客地址:http://blog.720ui.com 這里,筆者結(jié)合自己過(guò)往的面試經(jīng)驗(yàn),整理了一些核心的知識(shí)清單,幫助讀者更好地回顧與復(fù)習(xí) Java 服務(wù)端核心技術(shù)。本文會(huì)以引出問(wèn)題為主,后面有時(shí)間的話,筆者陸續(xù)會(huì)抽些重要的知識(shí)點(diǎn)進(jìn)...

    gougoujiang 評(píng)論0 收藏0
  • 2018年5月前端面試題

    摘要:在上家公司裸辭之后,經(jīng)過(guò)一段時(shí)間休整,月中下旬面試了一些公司,由于本人框架使用的是,所以面試題涉及到框架的都是,現(xiàn)將面試題整理一下列舉常用的特性。事件冒泡以及事件捕獲。其他前端分頁(yè)和后端分頁(yè)優(yōu)缺點(diǎn)。包含多個(gè)子節(jié)點(diǎn)及孫節(jié)點(diǎn),遍歷。 在上家公司裸辭之后,經(jīng)過(guò)一段時(shí)間休整,5月中下旬面試了一些公司,由于本人框架使用的是vue,所以面試題涉及到框架的都是vue,現(xiàn)將面試題整理一下: es6 ...

    wwolf 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<