JS: Function Constructor

By Xah Lee. Date: . Last updated: .

Function constructor is the function object Function.

[see JS: Function Object]

Function lets you define function from strings.


  1. new Function (…) → same as Function (…)
  2. Function(param_name_1, param_name_2, param_name_3, …, body)

The param_name_1, param_name_2, param_name_3, …, body should be strings.

The advantage of using new Function() to define a function is that it lets you create function at run-time. Though, this is rarely needed.


const f = Function("a", "b", "return a + b;");

// function with no parameter
const h1 = new Function ("return 3;");
console.log ( h1() );              // 3
// function with 1 parameter
const h2 = new Function("a", "return a;");
console.log(h2(4));             // 4
// function with 2 parameters
const h3 = new Function("a", "b", "return a + b;");
console.log(h3(3,4));           // 7

Using new Function() is similar to the use of eval(…), and you should be careful to not eval user generated input. Otherwise, it's a security risk.

JS Function

  1. Define Function
  2. Arrow Function ⭐
  3. Function Params
  4. “arguments” Object
  5. Rest Params ⭐
  6. Arg Default Value ⭐
  7. Arg Destructure ⭐
  8. f Declaration vs Expression
  9. Closure
  10. f call apply bind
  11. Functional Programing

Like it? Help me by telling your friends. Or, Put $5 at patreon.

Or, Buy JavaScript in Depth

If you have a question, put $5 at patreon and message me.

Web Dev Tutorials