FUNCTION

  1. curry
const curry=x=>y=>x+y;
console.log(curry(2)(3)); //5;
  1. destructuring
const {name,...user}={name:'komolei',age:24,sex:'female',family:'one'} //name:komolei ;user:{age:24...}
  1. high order function
[].sort.call([2,1,3,4],(p,n)=>p-n) // 1,2,3,4
[].map.call([2,4,5],item=>item*2) //4,8,10
[].filter.call([2,4,5],item=>item>2) // 4,5
[].reduce.call([2,4,5],(p,n)=>p+=n); // 11
[].forEach.call([2,4,5],item=>console.log(item*2))
  1. call & apply
var p={
      name:'komolei',
      add:function(p){
          console.log('name',p.name)},
      age:function(p){
          console.log('age',p.age)}}
p.name // komolei
p.add({name:'ddd'}) // name ddd
// 當(dāng)寫成上面這樣的時候,我們想要調(diào)用就只能輸入?yún)?shù)進(jìn)行調(diào)用。
// 能不能這樣調(diào)用:p.add()
// 可以,使用this
var p1={
      name:'komolei',
      add:function(){
          console.log('name',this.name)},
      age:function(){
          console.log('age',this.age)}}
// p1.add() //name komolei
// p1.add('xxx') //想要這樣傳參數(shù)是error的。不是廢話嘛?函數(shù)是什么?接受參數(shù),return 結(jié)果的工具。
// 那怎么傳遞參數(shù)呢?
// p1.add.call({name:'ccc'}) //ccc 
// this在函數(shù)中相當(dāng)于占位符,當(dāng)調(diào)用的時候才會想去替換真正的參數(shù)。
// call 傳參有限,apply接受數(shù)組作為參數(shù)。
  1. bind
// bind 返回一個全新的深拷貝過的函數(shù),同時綁定的this為返回的函數(shù)的call的this
// mini program 
// var that=this
that.onClick=function(){}
// this.onClick.bind(this) //上下相同。
  1. ramda -fp utility tool
    這幾天一直在看function program,簡稱fp,與平常的面向?qū)ο蟮某绦虿灰粯印:冒?,我也不知道怎么理解面向?qū)ο螅褪侨f物皆對象,將所有的事物抽象成對象,來模擬現(xiàn)實的環(huán)境。對應(yīng)js。就是基于原型鏈來寫對象原型。所有的屬性就是this上的字段。所有的方法。都寫在propertype上。別的也沒有什么想法了。最多es6,class般的語法糖吧。突然發(fā)現(xiàn)call,apply,bind的厲害了。動態(tài)切換this。

  2. 斷言函數(shù)

  • 自己的理解:進(jìn)行判斷的函數(shù),(data)=>false|true;
  • 程序設(shè)計中,斷言assertion)是一種放在程序中的一階邏輯(如一個結(jié)果為真或是假的邏輯判斷式),目的是為了標(biāo)示與驗證程序開發(fā)者預(yù)期的結(jié)果-當(dāng)程序運(yùn)行到斷言的位置時,對應(yīng)的斷言應(yīng)該為真。若斷言不為真時,程序會中止運(yùn)行,并給出錯誤消息。
  • 跟自己的理解差不多
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 概述 函數(shù)是一個可以執(zhí)行代碼的對象。每個函數(shù)都是 Function 類型的實例,并且都與其他引用類型一樣具有屬性和...
    bowen_wu閱讀 2,716評論 0 1
  • 1.函數(shù),對象和類理解 在javaScript中定義一個函數(shù)的同時就相當(dāng)于定義了一個同名的類,如 function...
    魂之挽歌w閱讀 294評論 0 0
  • Function類型 每個函數(shù)都是Function類型的實例,因此函數(shù)名實際上也是一個指向函數(shù)對象的指針 一、函數(shù)...
    McRay閱讀 195評論 0 1
  • 一、參考一個例子讓你讀懂什么是JS閉包[https://www.bilibili.com/video/BV16V4...
    合肥黑閱讀 632評論 0 1
  • 心心念念最后一天快點來到 可時間真到了這一天 還是有點舍不得 我想再看看這里的大蝦 想再看看穿著青蛙衣服的陽光 想...
    夏小時閱讀 161評論 0 1

友情鏈接更多精彩內(nèi)容