ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScriptで関数のオーバーロードとパラメータのデフォルト値を実装する
パラメータのデフォルト値とは、関数呼び出し時に実際のパラメータが省略された場合、関数がパラメータにデフォルト値を自動的に割り当て、関数呼び出しの利便性と柔軟性が大幅に向上することを意味します。
たとえば、PHP の文字列インターセプト関数 substr(string,start,length) を考えます。長さが指定されていない場合、関数はデフォルトで文字列の開始位置から文字列の末尾までをインターセプトします。 、開始位置から始まる長さの文字列をインターセプトするため、substr('http://www.hualai.net.cn',11,6) を呼び出すと、最後の One パラメータを省略すると hualai が返されます。 , substr('http://www.hualai.net.cn',11)、hualai.net.cn を返します。
たとえば、jQuery フレームワークでは、$(selector).html() メソッドは要素内の HTML コードを取得し、$(selector).html(content) は要素内の HTML を設定します。 C 言語では、次の形式で関数パラメータのデフォルト値を設定できることがわかっています:
void foo(int a, int b = 1, bool c = false);
Java では、関数のオーバーロードを通じて関数パラメータのデフォルト値を設定できます。
foo(a, 1);
} public void foo(int a, int b){
}
public void foo(int a, int b, bool c){ //関数の内容
}
function foo(){
var b = argument[1] : false;
上記は、パラメーターが存在するかどうかを判断することによって行われ、存在しない場合は、パラメーターの型を判断してデフォルト値を変数に追加できます:
if(typeof argument[0] == 'string')
alert('パラメータの型は文字列です');
alert('パラメータの型は数値です');
}
または
function foo(){
if(arguments[0].constructor == String)
alert('パラメータの型は文字列です') ;
alter('パラメータの型は数値です');