0

假设我们有一个函数,以及该函数的调用者

function baz(){
    myVar = null;
    foo(myVar);
}

function foo(bar){
    //do stuff
}

参数验证应该在哪里进行?

它可能是

function baz(){
    myVar = null;
    if(myVar != null){
        foo(myVar);
    }
}

或者它可能是

function foo(bar){
    if(myVar == null) return null;

    //do stuff
}

什么是更好的?或者,如果是情境性的,我什么时候应该使用什么?

也许这个的延伸也是我应该什么时候做

myVar['key'] = myFunc();
function myFunc(){
   return x;
}

对比

myFunc();
function myFunc(myVar){
    myVar['key'] = x;
}
4

1 回答 1

0

这在很大程度上取决于。如果您正在实施速度,您可能需要考虑将验证的选择留给用户。如果您正在实现稳定性,您可能希望将验证作为函数的一部分。

想象一个数组并且 push() 函数验证。现在想象在游戏中以 60 FPS 的速度每帧使用该函数几百次。如果每秒调用一次,那将是额外的 >6000。这是一个足够大的数字。

于 2013-10-21T16:51:57.700 回答