Binding Arguments with Bind

By  on  

One of my favorite and most essential Function method is bind, a function we added to MooTools when it wasn't featured in the JavaScript language itself. We often think of using bind to simply bind a method's call to its host object, but did you know you can also bind arguments with the host object?

You've probably done something like this:

this._onTargetAvailable = this._onTargetAvailable.bind(this);

That pattern is frequently used, especially in classed-based code or when passing callback functions. What you may not often see is bound arguments:

this._onTargetAvailable = this._onTargetAvailable.bind(
    this,
    arg1,
    arg2,
    arg3
);

Binding arguments gives you more power in how your bound function is used! Whenever onTargetAvailable is called, the arguments you provide will be in that order, and any additional arguments will be added to the end of the argument list!

Recent Features

Incredible Demos

  • By
    Select Dropdowns, MooTools, and CSS Print

    I know I've harped on this over and over again but it's important to enhance pages for print. You can do some things using simple CSS but today's post features MooTools and jQuery. We'll be taking the options of a SELECT element and generating...

  • By
    MooTools-Like Element Creation in jQuery

    I really dislike jQuery's element creation syntax. It's basically the same as typing out HTML but within a JavaScript string...ugly! Luckily Basil Goldman has created a jQuery plugin that allows you to create elements using MooTools-like syntax. Standard jQuery Element Creation Looks exactly like writing out...

Discussion

    Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!