没有更新的参数(arguments.callee.caller.arguements)

时间:2017-04-01 11:08:53

标签: javascript arguments

参考小提琴:http://jsfiddle.net/kLpygs6e/1/

执行此代码块时,我需要在函数_wait和_inner

中获取更新的参数对象
function main(string1 , number1){
   string1 = "STRING 1"; // changing argument with name string 1
   arguments[1] = 1000000; // changing argument using its index 2
   console.log("main >>> " ,JSON.stringify(arguments));
   // now calling _wait method
   _wait("WAIT STRING");
}

function _wait(str){
    // picking arguments from arguments.callee.caller.arguments
    var _args = arguments.callee.caller.arguments;
    console.log("_wait >>> " ,JSON.stringify(_args));
    // callin one more inner function
    _inner();
}
function _inner(){
    // picking arguments from arguments.callee.caller.arguments.callee.caller.arguments
    var _args = arguments.callee.caller.arguments.callee.caller.arguments;
    console.log("_inner >>> " ,JSON.stringify(_args));
}
main("welcome", 578);

输出:

main >>>  {"0":"STRING 1","1":1000000}
_wait >>>  {"0":"welcome","1":578}
_inner >>>  {"0":"welcome","1":578}

任何人都可以解决这个问题吗? 我无法将main方法的参数传递给任何其他方法。

0 个答案:

没有答案