Created
March 13, 2018 04:58
-
-
Save haingdc/63843ec7d5db0f33a1d0317ac2dfbaf6 to your computer and use it in GitHub Desktop.
A Gentle Introduction to Functional JavaScript: Part 3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| var argsToArray = function(args) { | |
| return Array.prototype.slice.call(args, 0); | |
| } | |
| var partial = function() { | |
| // chuyển đổi đối-tượng-giống-mảng sang một mảng mới | |
| var args = argsToArray(arguments); | |
| // shift() cho phép lấy ra phần tử đầu tiên của mảng. Trong trường hợp này phần tử đầu tiên là một hàm. args sẽ chứa các các đối số còn lại. | |
| var fn = args.shift(); // 🐘 | |
| return function() { | |
| var remainingArgs = argsToArray(arguments); | |
| return fn.apply(this, args.concat(remainingArgs)); // 🐘 Gọi hàm fn | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment