> For the complete documentation index, see [llms.txt](https://javascriptuse.gitbook.io/advanced/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://javascriptuse.gitbook.io/advanced/what-does-function-in-javascript-mean-ok.md).

# what does !function in Javascript mean? (ok)

https\://stackoverflow\.com/questions/9267289/what-does-function-in-javascript-mean

41

It is short-hand or alternative of [self-invoking anonymous function](http://sarfraznawaz.wordpress.com/2012/01/26/javascript-self-invoking-functions/):

```
(function(){
  // code
})();
```

Can be written:

```
!function(){
  // code
}();
```

You can also use `+` instead of `!`.

If you simply did:

```
function(){
  // code
}();
```

That will create problems, that's why you need to add `!` before it which turns the ***function declaration*** into ***function expression***.

Đọc thêm bài này: <https://app.gitbook.com/@javascriptuse/s/advanced/javascript-self-invoking-functions-ok>
