Function Arguments

by Joshua McNeese

JavaScript

// Use arguments property to allow for a dynamic
// number of arguments
function sum() {
    var i,
    n = arguments.length,
        total = 0;

    for (i = 0; i < n; i += 1) {
        total += arguments[i];
    }

    return total;
};

console.log(sum(1, 2, 3, 4, 5));

// Make arguments an array to utilize array methods
// like join() or pop()
function concatenator() {

    var args = Array.prototype.slice.apply(arguments);

    return args.join("-");

}

console.log(concatenator(1, 2, 3, 4, 5));

// Editing arguments directly will affect your argument variables
// What will happen here?
function breakMyArgs(arg1) {

    arguments[0] = 2;

    console.log(arg1);

}

breakMyArgs(1);