Javascript - 通过引用传递并调用函数两次

时间:2014-10-12 01:46:31

标签: javascript pass-by-reference

我第一次调用该函数时,它工作正常:它返回“now60”。 我在它之后立即使用了document.write,看看我是否通过引用正确传递:它返回60,而不是初始值30 - 因此,我做了。

第二次调用函数时,函数什么也没做。它没有打印120,甚至错误。此外,document.write再次显示60。

var quickChallengeTimer = {timer:30}; var quickChallengeQuestion; 
var quickChallengeAnswer; var quickChallengeResponse;

    function quickChallenge(quickChallengeTimerfunc, quickChallengeQuestion, quickChallengeAnswer) {

        if (typeof quickChallengeResponse == 'undefined') {
            switch (quickChallengeTimerfunc.timer) {

                case 30:
                    quickChallengeTimerfunc.timer = 60;
                    quickChallengeResponse = 'undefined';
                    document.write("now60");
                    break;

                case 60:
                    quickChallengeTimerfunc.timer = 120;
                    quickChallengeResponse = 'undefined';
                    document.write("now120");
                    break;

                default:
                    document.write("Error");
                    break;
            }
        }

        console.dir(quickChallengeTimerfunc.timer);
    }



quickChallenge(quickChallengeTimer);
document.write("<br />" + quickChallengeTimer.timer);

quickChallenge(quickChallengeTimer);
document.write("<br />" + quickChallengeTimer.timer);

0 个答案:

没有答案