if文などの条件付きで関数を定義する場合は、関数を呼び出す前に、定義されてなければならない。
条件付き関数は、2013/02/07現在、Firefoxでのみ動作を確認。ブラウザの互換性を求めるのであれば、条件付き関数は使用しない方が賢明だ。
サンプル
条件付き定義
<script type="text/javascript">
$calculate = "×";
if ( $calculate == "+" ) {
function sample( $varA, $varB ) {
document.write( "$varA + $varB = " + ( $varA + $varB ) );
}
} else if ( $calculate == "-" ) {
function sample( $varA, $varB ) {
document.write( "$varA - $varB = " + ( $varA - $varB ) );
}
} else if ( $calculate == "×" ) {
function sample( $varA, $varB ) {
document.write( "$varA × $varB = " + ( $varA * $varB ) );
}
} else {
function sample( $varA, $varB ) {
document.write( "足すの?引くの?掛けるの?" );
}
}
sample( 5, 3 );
</script>
$calculate = "×";
if ( $calculate == "+" ) {
function sample( $varA, $varB ) {
document.write( "$varA + $varB = " + ( $varA + $varB ) );
}
} else if ( $calculate == "-" ) {
function sample( $varA, $varB ) {
document.write( "$varA - $varB = " + ( $varA - $varB ) );
}
} else if ( $calculate == "×" ) {
function sample( $varA, $varB ) {
document.write( "$varA × $varB = " + ( $varA * $varB ) );
}
} else {
function sample( $varA, $varB ) {
document.write( "足すの?引くの?掛けるの?" );
}
}
sample( 5, 3 );
</script>
↓↓↓出力結果↓↓↓
※ 2013/02/07現在、Firefoxでのみ動作を確認。