JavaScript: Exclamation Before Function

By Xah Lee. Date: . Last updated: .

What does that !function mean?

This:

!function(param){body}(args)

It is equivalent to this:

(function(param){body})(args)

It means, define a function expression, and evaluate it right there.

The exclamation is the boolean “not” operator. 〔see JS: Boolean Operators

The exclamation forces what follows into a expression.

People do this hack to save one character worth of source code file size.