Generally speaking, a function is a "subprogram" that can be called by code external (or internal in the case of recursion) to the function. Like the program itself, a function is composed of a sequence of statements called the function body. Values can be passed to a function, and the function will return a value.
The Function constructor creates a new Function object. In JavaScript every function is actually a Function object.
The apply() method calls a function with a given this value and arguments provided as an array (or an array-like object).
The call() method calls a function with a given this value and arguments provided individually.
The function.caller property returns the function that invoked the specified function.
The function.displayName property returns the display name of the function.
The isGenerator() method determines whether or not a function is a generator.
The length property specifies the number of arguments expected by the function.
The property returns the name of the function.
The Function.prototype property represents the Function prototype object.
The toSource() method returns a string representing the source code of the object.
The toString() method returns a string representing the source code of the function.
The function.arguments property refers to an an array-like object corresponding to the arguments passed to a function. Use the simple variable arguments instead.
The arity property used to return the number of arguments expected by the function, however, it no longer exists and has been replaced by the Function.prototype.length property.
The function* declaration (function keyword followed by an asterisk) defines a generator function, which returns a Generator object.
The attr() CSS function is used to retrieve the value of an attribute of the selected element and use it in the style sheet. It can be used on pseudo-elements too and, in this case, the value of the attribute on the pseudo-element's originated element is returned.
The calc() CSS function can be used anywhere a <length>, <frequency>, <angle>, <time>, <number>, or <integer> is required. With calc(), you can perform calculations to determine CSS property values.
The var() function can be used instead of any part of a value in any property on an element. The var() function can not be used as property names, selectors or anything else besides property values. (Doing so usually produces invalid syntax or else a value whose meaning has no connection to the variable.)
The bind() method creates a new function that, when called, has its this keyword set to the provided value, with a given sequence of arguments preceding any provided when the new function is called.
The function keyword can be used to define a function inside an expression.