JavaScript Tutorials - Herong's Tutorial Examples - Version 2.21, by Dr. Herong Yang
Using the Function Constructor
This section provides a tutorial example on how to define new functions with the Function object type constructor.
JavaScript provides Function as a built-in object type. The constructor of the Function type has the following calling signature:
new Function("arg_1", "arg_2", ..., "function_body");
where the last parameter is a list o statements to form the body of the new function, and all other parameters are names of parameters of the new function.
The tutorial example below shows you how to define new functions with the Function object type constructor:
// Function_Constructor.js // Copyright (c) 2013 by Dr. Herong Yang, herongyang.com // Defining a new function with no parameters var hello = new Function( "println(\"Hello World!\");" ) // Calling the function hello(); // Defining a new function with one parameter var f2c = new Function("fahrenheit", "println(\"Converting Fahrenheit = \"+fahrenheit);" + "var celsius = (fahrenheit - 32.0 ) / 1.8;" + "println(\"Returning Celsius = \"+celsius);" + "return celsius;" ) // Calling the function var received = f2c(212.0); println("Received Celsius = "+received);
Run this JavaScript file with "jrunscript" in a command window, you will get:
Hello World! Converting Fahrenheit = 212 Returning Celsius = 100 Received Celsius = 100
Conclusion: The Function object type constructor works. But it is very hard to use, mainly because the statements of the new function must be entered as a single string literal. All quotes in those statements must be escaped with backslashes (\). It is still better to use the traditional way to define new functions using the "function" statements.
Table of Contents
ECMAScript Language Specification and JavaScript Dialects
Data Types, Variables and Expressions
Creating, Accessing, and Manipulating Arrays
Defining and Calling Functions
Web Browser Supporting JavaScript
Server-Side and Client-Side Web Scripting
Defining Your Own Object Types
Inheritance of Properties and Methods through the Prototype Object Chain
'jrunscript' - JavaScript Shell Command from JDK
►Using Functions as "Function" Objects
Functions Are Objects of the "Function" Type
►Using the Function Constructor
Function Object Inherited Properties and Methods
Function Object Instance Properties
Creating Function Objects with "function" Statements
Creating Function Objects with the "function" Operator
Comparing 3 Ways of Creating Functions
Introduction to Built-in Object Types