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

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

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

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

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

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

或者:

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

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

那怎么用呢?

要使用級聯(lián)函數(shù),我們必須在每個函數(shù)中返回 this 對象(也就是后面方法中操作的對象)?,F(xiàn)在我們開始創(chuàng)建個級聯(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();
 })
}

接下來我們定義個包含級聯(lián)函數(shù)的對象:

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);
 }
}

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

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

總結(jié)

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

相關(guān)文章

  • 詳解JavaScript 中的 replace 方法

    詳解JavaScript 中的 replace 方法

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

    js 動態(tài)生成json對象、時時更新json對象的方法

    下面小編就為大家?guī)硪黄猨s 動態(tài)生成json對象、時時更新json對象的方法。小編覺的挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • Javascript自定義排序 node運(yùn)行 實例

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

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

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

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

    javascript先序遍歷DOM樹的方法

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

    簡單談?wù)凧avaScript變量提升

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

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

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

    JavaScript類型檢測的方法實例教程

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

    創(chuàng)建一個類Person的簡單實例

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

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

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

最新評論