网站的特点,网站建设设计文档模板下载,利用百度图片做网站外链,做网站连接数据库怎么显示图片文章目录 柯里化模块乘法改变上下文 柯里化
已知 fn 为一个预定义函数#xff0c;实现函数 curryIt#xff0c;调用之后满足如下条件#xff1a; 1、返回一个函数 a#xff0c;a 的 length 属性值为 1#xff08;即显式声明 a 接收一个参数#xff09; 2、调用 a 之后实现函数 curryIt调用之后满足如下条件 1、返回一个函数 aa 的 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)();
}