I sometimes see people doing this Function('alert("hi")')
and sometimes they do new Function('alert("hi")')
Is there a difference between the two?
The spec (page 127) says they're identical.
15.3.1.1 Function (p1, p2, … , pn, body)
When the
Function
function is called with some arguments p1, p2, … , pn, body (where n might be 0, that is, there are no “p” arguments, and where body might also not be provided), the following steps are taken:
- Create and return a new Function object as if the standard built-in constructor Function was used in a new expression with the same arguments (15.3.2.1).
However, you should avoid the Function
constructor at all costs.
It needs to eval
the string you pass to it; eval
is evil, and slow too.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With