2017-02-27 14 views
1

IfまたはElseで評価されていない小さなヘルパー関数があります。/Elseステートメントが評価されない場合

私はnlapiLogExecutionを持っているので、関数が呼び出されていることがわかります。これは、NetSuiteでどのようにデバッグするのかです。ログに記録されているものに関する注釈はコードにあります。

これはどのように可能ですか?私も==演算子を使用しようとしました。私は関数内で変数として設定しようとしました(私は必要ではないと思います)。

function convertUnit(unit, cubicMeters){ 
    nlapiLogExecution('DEBUG','convertUnitFunction',typeof(unit)) 
    // typeof is String 
    nlapiLogExecution('DEBUG','convertUnitFunction',unit) 
    // value is Each 
    if (unit === 'Each'){ 
     return cubicMeters 
     nlapiLogExecution('DEBUG','equals Each', cubicMeters) 
     // does not log here 
    } 
    else { 
     nlapiLogExecution('DEBUG','else statements', 'equals else') 
     // Does not log here 
    } 
} 
+1

'if'条件が真であれば、関数は* log *関数に到達する前に*を返します。 – nnnnnn

+0

ブロック内の最後の文として 'return cubicMeters'を配置します。 – jeff

+0

@nnnnnnあなたの右のdoh。私はそれの下流に別の問題があると思う。 – nzaleski

答えて

3

あなたが何かをログに記録することができます前に、あなたはifの文が、関数return Sを入力しています。 returnの順序を切り替えてみて、ステートメントをログ:

function convertUnit(unit, cubicMeters){ 
    nlapiLogExecution('DEBUG','convertUnitFunction',typeof(unit)) 
    // typeof is String 
    nlapiLogExecution('DEBUG','convertUnitFunction',unit) 
    // value is Each 
    if (unit === 'Each'){ 
     nlapiLogExecution('DEBUG','equals Each', cubicMeters) 
     // will log something now if you pass 'Each' 
     return cubicMeters 
    } 
    else { 
     nlapiLogExecution('DEBUG','else statements', 'equals else') 
     // will log something if the else branch is taken 
    } 
} 
0

それは'Each'セクションでnlapiLogExecutionになる前に、あなたが戻ってきています。あなたが唯一渡していない限り、elseで実行されていない理由を確かめてください。'Each'

関連する問題