|
@@ -0,0 +1,18 @@
|
|
|
+const myBind = (boundTargetFunction, boundThis, boundArguments) => {
|
|
|
+ return (...newBoundArguments) => {
|
|
|
+ return boundTargetFunction.apply(boundThis, newBoundArguments.concat(boundArguments[1]));
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+let pow5 = myBind(Math.pow, Math, [undefined, 5]);
|
|
|
+let cube = myBind(Math.pow, Math, [undefined, 3]);
|
|
|
+
|
|
|
+console.log(pow5(2)); //32
|
|
|
+console.log(cube(3)); //27
|
|
|
+
|
|
|
+var chessMin = myBind(Math.min, Math, [undefined, 4, undefined, 5,undefined, 8,undefined, 9])
|
|
|
+console.log(chessMin(-1,-5,3,15)); //-5
|
|
|
+
|
|
|
+
|
|
|
+let zeroPrompt = myBind(prompt, window, [undefined, "0"]);
|
|
|
+let someNumber = zeroPrompt("Введите число"); // вызывает prompt("Введите число","0")
|