/ Published in: JavaScript
A simple template for a JavaScript function which allows for an arbitrary number of named arguments to be passed in. This is achieved by passing a single object as an argument with each of the 'real' arguments being a key/value pair. In this way arguments can be passed in any order and we can easily add in new arguments.
To call, simply pass in an object with the required arguments:
myFunction ({opt1: 'cat', opt4: 'dog', opt2: 'monkey'})
Validates clean in jsLint.
To call, simply pass in an object with the required arguments:
myFunction ({opt1: 'cat', opt4: 'dog', opt2: 'monkey'})
Validates clean in jsLint.
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
function myFunction(options) { // options may contain: opt1, opt2, opt3, opt4 'use strict'; // Where a mandatory parameter is missing, throw an error if (typeof options !== 'object' || options.opt1 === undefined || options.opt2 === undefined) { throw {name: 'Error', message: 'Missing options property: opt1 and opt2 must be provided'}; } // Where an optional parameter is missing, set it to the default value var key, default_options = { opt3 : 'dog', opt4 : 99 }; for (key in default_options) { if (default_options.hasOwnProperty(key)) { if (options[key] === undefined) { options[key] = default_options[key]; } } } // All arguments are now available in the format options.opt1, options.opt2, etc // Rest of function... }