欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript輕松創(chuàng)建級(jí)聯(lián)函數(shù)的方法示例

 更新時(shí)間:2017年02月10日 15:17:01   作者:Terry√  
級(jí)聯(lián)函數(shù)也叫鏈?zhǔn)胶瘮?shù),方法鏈一般適合對(duì)一個(gè)對(duì)象進(jìn)行連續(xù)操作 (集中在一句代碼)。一定程度上可以減少代碼量,缺點(diǎn)是它占用了 函數(shù)的返回值。下面這篇文章主要給大家介紹了利用JavaScript如何輕松創(chuàng)建級(jí)聯(lián)函數(shù)的方法示例,需要的朋友可以參考借鑒。

一、級(jí)聯(lián)函數(shù)是什么?

在一行代碼上,調(diào)用一個(gè)接一個(gè)的方法。這種技術(shù)在 JQuery 或者其他 JavaScript 庫(kù)中是非常常見(jiàn)的。
代碼如下:

$('#myDiv').fadeOut().html('帥哥, 你好!').fadeIn();

或者:

myStr1.replace('k', 'R').toUpperCase().substr(0,4); 

這種代碼讓我們能像閱讀文字一樣來(lái)閱讀代碼,不僅簡(jiǎn)潔,可讀性強(qiáng)更便于維護(hù),提高開發(fā)效率。

那怎么用呢?

要使用級(jí)聯(lián)函數(shù),我們必須在每個(gè)函數(shù)中返回 this 對(duì)象(也就是后面方法中操作的對(duì)象)?,F(xiàn)在我們開始創(chuàng)建個(gè)級(jí)聯(lián)函數(shù):

var usresData = [
 {firstName: 'Zhang', lastName: 'San', email: '111@qq.com', id: 102},
 {firstName: 'Li', lastName: 'Si', email: '222@qq.com', id: 103},
 {firstName: 'Wang', lastName: 'Wu', email: '333@qq.com', id: 105}
];

function getCaseName(str) {
 return str.replace(/\w\S*/g, function(txt){
  return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
 })
}

接下來(lái)我們定義個(gè)包含級(jí)聯(lián)函數(shù)的對(duì)象:

var userController = {
 currentUser = '',
 findUser = function (userEmail) {
  var arrayLength = usersData.length, i;
  for (i = arrayLength - 1; i >= 0; i--) {
   if (usersData[i].email === userEmail) {
    this.currentUser = usersData[i];
    break;
   }
  }
  return this;
 },
 formatName: function () {
  if (this.currentUser) {
   this.currentUser.fullName = getCaseName(this.currentUser.firstName) + ' ' + getCaseName(this.currentUser.lastName);
  }
  return this;
 },
 createLayout: function () {
  if (this.currentUser) {
   this.currentUser.viewData = '<h2>成員: ' + this.currentUser.fullName + '</h2>'​
   + '<p>ID: ' + this.currentUser.id + '</p>' + '<p>Email: ' + this.currentUser.email + '</p>';
  }
  return this;
 },
 displayUser: function () {
  if (!this.currentUser) return;
  $('.members-wrapper').append(this.currentUser.viewData);
 }
}

定義完了級(jí)聯(lián)函數(shù),我們調(diào)用的時(shí)候就會(huì)非常的優(yōu)雅了:

userController.findUser('111@qq.com').formatName().createLayout().displayUser();

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。

相關(guān)文章

  • 詳解JavaScript 中的 replace 方法

    詳解JavaScript 中的 replace 方法

    這篇文章主要介紹了詳解JavaScript 中的 replace 方法的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • js 動(dòng)態(tài)生成json對(duì)象、時(shí)時(shí)更新json對(duì)象的方法

    js 動(dòng)態(tài)生成json對(duì)象、時(shí)時(shí)更新json對(duì)象的方法

    下面小編就為大家?guī)?lái)一篇js 動(dòng)態(tài)生成json對(duì)象、時(shí)時(shí)更新json對(duì)象的方法。小編覺(jué)的挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • Javascript自定義排序 node運(yùn)行 實(shí)例

    Javascript自定義排序 node運(yùn)行 實(shí)例

    Javascript自定義排序 node運(yùn)行 實(shí)例,需要的朋友可以參考一下
    2013-06-06
  • 原生JS實(shí)現(xiàn)的輪播圖功能詳解

    原生JS實(shí)現(xiàn)的輪播圖功能詳解

    這篇文章主要介紹了原生JS實(shí)現(xiàn)的輪播圖功能,結(jié)合實(shí)例形式分析了javascript實(shí)現(xiàn)輪播圖的原理、操作技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2018-08-08
  • javascript先序遍歷DOM樹的方法

    javascript先序遍歷DOM樹的方法

    這篇文章主要介紹了5種javascript先序遍歷DOM樹的方法,感興趣的小伙伴們可以參考一下
    2016-02-02
  • 簡(jiǎn)單談?wù)凧avaScript變量提升

    簡(jiǎn)單談?wù)凧avaScript變量提升

    對(duì)于學(xué)習(xí)JavaScript的初學(xué)者來(lái)說(shuō),變量提升是繞不過(guò)去的一個(gè)知識(shí)點(diǎn),簡(jiǎn)單來(lái)說(shuō)變量提升就是 JS會(huì)把var變量的聲明自動(dòng)提升到作用域的頂部,這篇文章主要給大家介紹了關(guān)于JavaScript變量提升的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • js實(shí)現(xiàn)的折疊導(dǎo)航示例

    js實(shí)現(xiàn)的折疊導(dǎo)航示例

    折疊導(dǎo)航的實(shí)現(xiàn)方法有很多,在文本為大家介紹下如何使用js實(shí)現(xiàn)的折疊導(dǎo)航,感興趣的朋友可以參考下
    2013-11-11
  • JavaScript類型檢測(cè)的方法實(shí)例教程

    JavaScript類型檢測(cè)的方法實(shí)例教程

    這篇文章主要給大家介紹了關(guān)于JavaScript類型檢測(cè)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 創(chuàng)建一個(gè)類Person的簡(jiǎn)單實(shí)例

    創(chuàng)建一個(gè)類Person的簡(jiǎn)單實(shí)例

    如何創(chuàng)建一個(gè)類Person?下面小編就為大家?guī)?lái)一篇?jiǎng)?chuàng)建一個(gè)類Person的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧
    2016-05-05
  • JavaScript自執(zhí)行閉包的小例子

    JavaScript自執(zhí)行閉包的小例子

    JQuery是一個(gè)很明顯的自執(zhí)行閉包的例子,有需要的朋友可以參考一下
    2013-06-06

最新評(píng)論