Rumah > hujung hadapan web > tutorial js > Contoh cara menetapkan nilai lalai untuk parameter kaedah JavaScript_Pengetahuan asas

Contoh cara menetapkan nilai lalai untuk parameter kaedah JavaScript_Pengetahuan asas

WBOY
Lepaskan: 2016-05-16 15:31:38
asal
1179 orang telah melayarinya

Pernahkah anda menghadapi situasi sedemikian dan menulis fungsi tanpa parameter?

function showUserInfo(){
alert("你好!我是小明。");
}

function showUserInfo(){ 
  alert("你好!我是小明。"); 
} 

Salin selepas log masuk

Panggil:

showUserInfo();

showUserInfo(); 

Salin selepas log masuk

Kemudian, saya mendapati bahawa fungsi ini juga diperlukan di tempat lain, tetapi beberapa nilai pembolehubah telah dikodkan dengan keras dalam fungsi tersebut. Tambah parameter.

function showUserInfo(name){
name=name||"小明";
alert("你好!我是"+name+"。");
}

function showUserInfo(name){ 
  name=name||"小明"; 
  alert("你好!我是"+name+"。"); 
} 

Salin selepas log masuk

Penjelasan: name=name||"Xiao Ming" Kod ini bermakna jika nama adalah batal, ia sama dengan nilai lalai "Xiao Ming". Anda juga boleh menulis seperti ini:

function showUserInfo(name){
// name=name||"小明";
if(!name){
name="小明";
}
alert("你好!我是"+name+"。");
}

function showUserInfo(name){ 
// name=name||"小明"; 
  if(!name){ 
    name="小明"; 
  } 
  alert("你好!我是"+name+"。"); 
} 

Salin selepas log masuk


Panggil:

showUserInfo('小李');

showUserInfo('小李'); 

Salin selepas log masuk


Kemudian, keperluan berubah dan umur perlu ditambah. Okey, mari tukar:

function showUserInfo(name,age){
name=name||"小明";
age=age||22;
alert("你好!我是"+name+",今年"+age+"岁。");
}

function showUserInfo(name,age){ 
  name=name||"小明"; 
  age=age||22; 
  alert("你好!我是"+name+",今年"+age+"岁。"); 
} 

Salin selepas log masuk

Panggil:

showUserInfo('小李');//结果:你好!我是小李,今年22岁。
showUserInfo('小李',19);//结果:你好!我是小李,今年19岁。
showUserInfo(null,19);//结果:你好!我是小明,今年19岁。

showUserInfo('小李');//结果:你好!我是小李,今年22岁。 
showUserInfo('小李',19);//结果:你好!我是小李,今年19岁。 
showUserInfo(null,19);//结果:你好!我是小明,今年19岁。 

Salin selepas log masuk


Baiklah, bagaimana jika kita perlu menambah parameter seperti hari lahir, nombor telefon, jantina, QQ, dsb.? Tetapkan nilai lalai satu demi satu? Malah, saya melihat ramai orang melakukan ini. Mari kita lihat cara yang lebih mudah. Iaitu menggunakan sambungan Jquery. Mari lihat kod dahulu:

function showUserInfo(setting){
var defaultSetting={
name:"小明",
age:"22",
sex:"男",
phone:"13888888888",
QQ:"12345678",
birthday:"1980.12.29"
};
$.extend(defaultSetting,settings);
var message='姓名:'+defaultSetting.name
+',性别:'+defaultSetting.sex
+',年龄:'+defaultSetting.age
+',电话:'+defaultSetting.phone
+',QQ:'+defaultSetting.QQ
+',生日:'+defaultSetting.birthday
+'。';
alert(message);
}


function showUserInfo(setting){ 
  var defaultSetting={ 
    name:"小明", 
    age:"22", 
    sex:"男", 
    phone:"13888888888", 
    QQ:"12345678", 
    birthday:"1980.12.29" 
  }; 
   
  $.extend(defaultSetting,settings); 
   
  var message='姓名:'+defaultSetting.name 
      +',性别:'+defaultSetting.sex 
      +',年龄:'+defaultSetting.age 
      +',电话:'+defaultSetting.phone 
      +',QQ:'+defaultSetting.QQ 
      +',生日:'+defaultSetting.birthday 
      +'。'; 
  alert(message); 
} 

Salin selepas log masuk

Penjelasan: Fungsi $.extend(defaultSetting,settings) adalah untuk menggabungkan konfigurasi tetapan masuk dengan defaultSetting, dan menulis ganti konfigurasi defaultSetting dengan konfigurasi dalam tetapan.

Panggil:

showUserInfo({
name:"小李"
});
//结果:姓名:小李,性别:男,年龄:22,电话:13888888888,QQ:12345678,生日:1980.12.29。
showUserInfo({
name:"小红",
sex:"女",
phone:"13777777777"
});
//结果:姓名:小红,性别:女,年龄:22,电话:13777777777,QQ:12345678,生日:1980.12.29。




showUserInfo({ 
  name:"小李" 
}); 
//结果:姓名:小李,性别:男,年龄:22,电话:13888888888,QQ:12345678,生日:1980.12.29。 
showUserInfo({ 
  name:"小红", 
  sex:"女", 
  phone:"13777777777" 
}); 
//结果:姓名:小红,性别:女,年龄:22,电话:13777777777,QQ:12345678,生日:1980.12.29。 

Salin selepas log masuk


Ia sangat mudah! Dengan cara ini, walaupun terdapat 100 parameter, anda tidak takut.

Jadi bila hendak menggunakan berbilang parameter dan bila hendak menggunakan objek parameter tersebut? Pengalaman saya ialah, bergantung kepada keperluan sebenar, jika satu atau dua parameter boleh digunakan, maka objek parameter tidak digunakan. Jika terdapat lebih daripada 3, saya akan menggunakan objek parameter ini.

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan