Why are we using “({ })” in jQuery?

{} is object notation in JavaScript. For example:

$('selector').plugin({ option1: 'value' });

In this case you’re passing an object containing your settings to the plugin. The plugin can deal with this as a object, whatever it’s referenced as, for example:

settings.option1 //the option you passed in.

Of course it has a lot more uses, but this is the most common example in jQuery. The same is true for the .animate(), $.ajax(), .css() functions, etc. Anything that takes properties generally uses this format.


As requested, some other examples:
Any object inside the passed object can be a function as well, not only properties, for example:

$("<input>", {
  type: "text",
  focusin: function() { alert("Hi, you focused me!"); }
});    

This would set the focus event of that input to have an alert. Another is extending an object, adding properties to it, like this:

var person = { first_name: "John" };
$.extend(person, { last_name: "Smith" });
//equivalent to: 
person.last_name = "Smith";
//or:
person["last_name"] = "Smith";

Now person has the last_name property. This is often used by plugins as well, to take the default settings, then merge any settings you passed in, overwriting with any settings you specified, using defaults for the rest.

Why are we using it? Well…that’s how JavaScript works, and in the jQuery spirit: it’s an extremely terse and flexible way to pass information.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)