Skip to content

Instantly share code, notes, and snippets.

@haingdc
Created March 13, 2018 04:58
Show Gist options
  • Select an option

  • Save haingdc/63843ec7d5db0f33a1d0317ac2dfbaf6 to your computer and use it in GitHub Desktop.

Select an option

Save haingdc/63843ec7d5db0f33a1d0317ac2dfbaf6 to your computer and use it in GitHub Desktop.
A Gentle Introduction to Functional JavaScript: Part 3
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