ホームページ > ウェブフロントエンド > jsチュートリアル > js_javascriptスキルで関数のデフォルトパラメータ値を設定する3つの方法

js_javascriptスキルで関数のデフォルトパラメータ値を設定する3つの方法

WBOY
リリース: 2016-05-16 15:35:24
オリジナル
1513 人が閲覧しました

JavaScript で関数のデフォルトのパラメーター値を設定する方法。参考までにいくつかの方法を示します。
最初の方法:

function example(a,b){ 
  var a = arguments[0] ? arguments[0] : 1;//设置参数a的默认值为1 
  var b = arguments[1] ? arguments[1] : 2;//设置参数b的默认值为2 
  return a+b; 
} 
ログイン後にコピー

上記の関数は次のように記述することもできることに注意してください:

function example(){ 
  var a = arguments[0] ? arguments[0] : 1;//设置第一个参数的默认值为1 
  var b = arguments[1] ? arguments[1] : 2;//设置第二个参数的默认值为2 
  return a+b; 
} 
ログイン後にコピー

呼び出し例:

alert( example() ); //输出3 
alert( example(10) ); //输出12 
alert( example(10,20) ); //输出30 
alert( example(null,20) ); //输出20 
ログイン後にコピー

2 番目の方法:

function example(name,age){ 
  name=name||'貂蝉'; 
  age=age||21; 
  alert('你好!我是'+name+',今年'+age+'岁。'); 
} 
ログイン後にコピー

この関数は次のように書くこともできます:

function example(name,age){ 
  if(!name){name='貂蝉';} 
  if(!age){age=21;} 
  alert('你好!我是'+name+',今年'+age+'岁。'); 
} 
ログイン後にコピー

呼び出し例:

example('王五');//输出:你好!我是王五,今年21岁。  
example('王五',30);//输出:你好!我是王五,今年30岁。  
example(null,30);//输出:你好!我是貂蝉,今年30岁。 
ログイン後にコピー

3 番目の方法。この方法は、Jquery 拡張機能を使用し、パラメータが多い状況に適しています。

function example(setting){ 
  var defaultSetting={ 
    name:'小红', 
    age:'30', 
    sex:'女', 
    phone:'100866', 
    QQ:'100866', 
    birthday:'1949.10.01' 
  }; 
  $.extend(defaultSetting,settings); 
  var message='姓名:'+defaultSetting.name 
  +',性别:'+defaultSetting.sex 
  +',年龄:'+defaultSetting.age 
  +',电话:'+defaultSetting.phone 
  +',QQ:'+defaultSetting.QQ 
  +',生日:'+defaultSetting.birthday 
  +'。'; 
  alert(message); 
} 
ログイン後にコピー

呼び出し例:

example({ 
  name:'小红', 
  sex:'女', 
  phone:'100866' 
}); 
//输出:姓名:小红,性别:女,年龄:30,电话:100866,QQ:100866。 
ログイン後にコピー

上記の 3 つの方法を学習しましたか? これら 3 つの方法にはそれぞれ長所と短所があります。自分の状況を分析して、最適な学習方法を選択してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート