/*
访问者模式:
针对于对象结构中的元素,定义在不改变该对象的前提下访问结构中元素的新方法。
 */

// 访问器
var Visitor = (function () {
    return {
        splice: function () {
            var args = Array.prototype.splice.call(arguments, l);
            return Array.prototype.splice.apply(arguments[0], args);
        },
        push: function () {
            var len = arguments[0].length || 0;
            var args = this.splice(arguments, l);
            arguments[0].length = len + arguments.length - 1;
            return Array.prototype.push.apply(arguments[0], args);
        },
        pop: function () {
            return Array.prototype.pop.apply(arguments[0]);
        }
    }
})();