一个函数让你完全了解闭包和函数柯里化

了解下闭包和函数柯里化的概念闭包

闭包:就是可以读取其余函数内部变量的函数。

维基百科上说道:柯里化,英语:Currying(果真是满满的英译中的既视感),是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,而且返回接受余下的参数并且返回结果的新函数的技术。

零 · 若是须要你写一个判断数据类型的方法你会怎么作?

  • 🤔️ 使用typeof用,那你可能判断不出对象的类型
  • 🤔️ 使用 constructor 看是谁构造的
  • 🤔️ 使用instranceof 判断谁是谁的实例
  • 🤔️ 使用Object.prototype.toString.call

你们均可以本身尝试下,今天咱们的重点是使用Object.prototype.toString.call
app

壹 · 数据类型判断函数

  • 关键词:两个参数valuetype
  • 弊端:每次调用都要传入type的值String

优化一:减小参数的传入

调整传参方式,新增isString这时咱们能够观察到函数

  • 在调用isString时咱们只需传递了value值,而且返回接受了余下参数的函数的返回结果
  • isString实现了保存变量的功能(闭包)
  • isTypeOne函数里的getType函数能够被不在本身做用域下的地方执行从而造成闭包


isString在调用时写错了会形成结果判断错误,优化

优化二:统一处理数据类型函数

相关文章
相关标签/搜索