# Function components in `ng`

Name | Description
--- | ---
angular.forEach | Invokes the `iterator` function once for each item in `obj` collection, which can be either an object or an array. The `iterator` function is invoked with `iterator(value, key, obj)`, where `value` is the value of an object property or an array element, `key` is the object property key or array element index and obj is the `obj` itself. Specifying a `context` for the function is optional.
angular.extend | Extends the destination object `dst` by copying own enumerable properties from the `src` object(s) to `dst`. You can specify multiple `src` objects. If you want to preserve original objects, you can do so by passing an empty object as the target: `var object = angular.extend({}, object1, object2)`.
angular.merge | Deeply extends the destination object `dst` by copying own enumerable properties from the `src` object(s) to `dst`. You can specify multiple `src` objects. If you want to preserve original objects, you can do so by passing an empty object as the target: `var object = angular.merge({}, object1, object2)`.
angular.noop | A function that performs no operations. This function can be useful when writing code in the functional style.
    function foo(callback) {
      var result = calculateResult();
      (callback || angular.noop)(result);
    }
angular.identity | A function that returns its first argument. This function is useful when writing code in the functional style.
angular.isUndefined | Determines if a reference is undefined.
angular.isDefined | Determines if a reference is defined.
angular.isObject | Determines if a reference is an `Object`. Unlike `typeof` in JavaScript, `null`s are not considered to be objects. Note that JavaScript arrays are objects.
angular.isString | Determines if a reference is a `String`.
angular.isNumber | Determines if a reference is a `Number`.
angular.isDate | Determines if a value is a date.
angular.isArray | Determines if a reference is an `Array`.
angular.isFunction | Determines if a reference is a `Function`.
angular.isElement | Determines if a reference is a DOM element (or wrapped jQuery element).
angular.copy | Creates a deep copy of `source`, which should be an object or an array. This functions is used internally, mostly in the change-detection code. It is not intended as an all-purpose copy function, and has several limitations (see below).
angular.equals | Determines if two objects or two values are equivalent. Supports value types, regular expressions, arrays and objects.
angular.bind | Returns a function which calls function `fn` bound to `self` (`self` becomes the `this` for `fn`). You can supply optional `args` that are prebound to the function. This feature is also known as partial application, as distinguished from function currying.
angular.toJson | Serializes input into a JSON-formatted string. Properties with leading $$ characters will be stripped since AngularJS uses this notation internally.
angular.fromJson | Deserializes a JSON string.
angular.bootstrap | Use this function to manually start up AngularJS application.
angular.reloadWithDebugInfo | Use this function to reload the current application with debug information turned on. This takes precedence over a call to `$compileProvider.debugInfoEnabled(false)`.
angular.UNSAFE_restoreLegacyJqLiteXHTMLReplacement | Restores the pre-1.8 behavior of jqLite that turns XHTML-like strings like `<div /><span />` to `<div></div><span></span>` instead of `<div><span></span></div>`. The new behavior is a security fix. Thus, if you need to call this function, please try to adjust your code for this change and remove your use of this function as soon as possible.
angular.injector | Creates an injector object that can be used for retrieving services as well as for dependency injection (see dependency injection).
angular.element | Wraps a raw DOM element or HTML string as a jQuery element.
angular.module | The `angular.module` is a global place for creating, registering and retrieving AngularJS modules. All modules (AngularJS core or 3rd party) that should be available to an application must be registered using this mechanism.
angular.errorHandlingConfig | Configure several aspects of error handling in AngularJS if used as a setter or return the current configuration if used as a getter. The following options are supported: