当前位置: 首页 > news >正文

js题解(三)

文章目录

  • 柯里化
  • 模块
  • 乘法
  • 改变上下文

柯里化

已知 fn 为一个预定义函数,实现函数 curryIt,调用之后满足如下条件:
1、返回一个函数 a,a 的 length 属性值为 1(即显式声明 a 接收一个参数)
2、调用 a 之后,返回一个函数 b, b 的 length 属性值为 1
3、调用 b 之后,返回一个函数 c, c 的 length 属性值为 1
4、调用 c 之后,返回的结果与调用 fn 的返回值一致
5、fn 的参数依次为函数 a, b, c 的调用参数

function curryIt(fn) {return function(a) {return function(b) {return function(c) {return fn(a, b, c)}}}}

模块

完成函数 createModule,调用之后满足如下要求:
1、返回一个对象
2、对象的 greeting 属性值等于 str1, name 属性值等于 str2
3、对象存在一个 sayIt 方法,该方法返回的字符串为 greeting属性值 + ', ’ + name属性值

function createModule(str1, str2) {// return // var obj = ;return {greeting:str1,name:str2,sayIt:function (){return this.greeting+', '+this.name //注意逗号后面不要少了空格}}}

乘法

求 a 和 b 相乘的值,a 和 b 可能是小数,需要注意结果的精度问题

function multiply(a, b) {// 1.先将两个数转成字符串let str1 = a.toString()let str2 = b.toString()// 2.获取小数点后的位数,不一定有小数位let lenA = (str1.indexOf('.')===-1)?0:(str1.length - str1.indexOf('.')-1)let lenB = (str2.indexOf('.')===-1)?0:(str2.length - str2.indexOf('.')-1)// 3.取最精确的小数位数let len = Math.max(lenA,lenB)//把数字转换为字符串,结果的小数点后有指定位数的数字://toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。return (a*b).toFixed(len);}

改变上下文

改变上下文

function alterContext(fn, obj) {return fn.bind(obj)();
}
http://www.lryc.cn/news/182159.html

相关文章:

  • CompletableFuture异步回调
  • Python中匹配模糊的字符串
  • PHP图片文件管理功能系统源码
  • (枚举 + 树上倍增)Codeforces Round 900 (Div. 3) G
  • websocket逆向【python实现websocket拦截】
  • 软件测试自动化的成本效益分析
  • 【Java】状态修饰符 final static
  • 笔试编程ACM模式JS(V8)、JS(Node)框架、输入输出初始化处理、常用方法、技巧
  • learn掩码张量
  • 激活函数介绍
  • docker方式启动一个java项目-Nginx本地有代码,并配置反向代理
  • 前端和后端是Web开发选哪个好?
  • HTTP协议,请求响应
  • idea配置文件属性提示消息解决方案
  • EdgeView 4 for Mac:重新定义您的图像查看体验
  • 流程自动化(RPA)的好处有哪些?
  • 医学影像系统【简称PACS】源码
  • 大家都在用哪些敏捷开发项目管理软件?
  • python机器学习基础教程01-环境搭建
  • TinyWebServer学习笔记-Config
  • 数据结构与算法--算法
  • JVM:如何通俗的理解并发的可达性分析
  • 传统机器学习聚类算法——总集篇
  • Ajax
  • SQL_ERROR_INFO: “Duplicate entry ‘9003‘ for key ‘examination_info.exam_id‘“
  • 解决每次重启ganache虚拟环境,十个账号秘钥都会改变问题
  • sheng的学习笔记-【中文】【吴恩达课后测验】Course 2 - 改善深层神经网络 - 第一周测验
  • (粗糙的笔记)动态规划
  • Kaggle - LLM Science Exam上:赛事概述、数据收集、BERT Baseline
  • 数据分析三剑客之一:Numpy详解及实战