2011-06-26 6 views
2

PHPでは、パラメータが渡されないと変数に変数をnullに設定しています。たとえば:このPHP構文はJavaScriptに存在しますか? function(var = null)

ファンクションコール:

myExample(8); 

関数定義:

function myExample($var1, $var2 = null); 

期待される結果:

$var 1 = 8; 
$var 2 = null; 

は、同様の構文では、JavaScriptには存在していますか?私はまっすぐそれをやってみたが、うまくいかなかった。

答えて

3

要するに、関数宣言ではデフォルト値を代入することはできません。

しかし:

function myExample($var1, $var2) { 
} 

myExample(1); 

$var2は、関数内undefinedされることになります。

+0

それを供給している場合は、単にので、この

 If(opt_arg != 'undefined) 

を確認するにはでき

は私が例で行ったようにあなたがすることができると思う:それは同じではありませんが、あなたにこれをありがとう –

+0

同じ効果があります完璧に働いた! – dcoffey3296

1

javascriptでは、必要な引数をいくつでも渡すことができ、それらを宣言する必要があります。あなたは親切あなたが行うことができます配列(それはlengthプロパティを持っているが、実際にはオブジェクトである)

のような可変引数でそれらにアクセスすることができます。

function yourfunction (var1){ 
    var var2 = null; 
    if (arguments.length>1){ 
     var2 = arguments[1]; 
    } 
} 

これは非常にあなたが何をすべきかのようですPHP、あなたが二番目の引数を渡さない場合ので、VAR2がnull、それ以外の場合は、第二引数

に等しい

EDIT tipicalの例では、すべてを合計の関数である完全な参照のためhereを探します彼の議論それらの数のエッセイ。私はjavascriptに関するいくつかの本でそれを見つけました。あなたがより多くを読みたい場合は、いくつかの良いboksがされている:オブジェクトは、JavaScriptとjavascriptのstoyanのStefanovのと通常のJavaスクリプトによって、両方のパターンを指向:それはない良い部分

function sumValues() { 
    var sum = 0; 
    for (var i = 0; i < arguments.length; i++) { 
    sum += arguments[i]; 
    } 
    return sum; 
    } 
+0

ニート!これは将来的には便利になるでしょう。お手伝いありがとう! – dcoffey3296

1

いいえ。

オプションの引数を許可するには、それらを指定します。それらが提供されない場合、それらは未定義として定義されます。

例:

 
Func = function(arg, opt_arg) 
{ 
    Alert(arg + ' ' + opt_arg); 
} 

Func('test');// gives "test undefined" 

引数はphpのように必須ではありません。ユーザーが

関連する問題