Hướng dẫn javascript check parameter exists - thông số kiểm tra javascript tồn tại

81

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi đã tự hỏi, bạn có thể tạo một chức năng với một tham số tùy chọn.

Example:

function parameterTest(test)
{
   if exists(test)
   {
     alert('the parameter exists...');
   }
   else
   {
     alert('The parameter doesn\'t exist...');
   }
}

Vì vậy, nếu bạn gọi

function parameterTest(bool) {
  if (bool !== undefined) {
4 thì kết quả sẽ là một thông báo "Tham số không tồn tại ...". Và nếu bạn gọi
function parameterTest(bool) {
  if (bool !== undefined) {
5 thì nó sẽ trả về "tham số tồn tại ...".

Điều này có thể?

Hướng dẫn javascript check parameter exists - thông số kiểm tra javascript tồn tại

Denys Séguret

362K84 Huy hiệu vàng769 Huy hiệu bạc740 Huy hiệu Đồng84 gold badges769 silver badges740 bronze badges

Hỏi ngày 22 tháng 10 năm 2012 lúc 20:50Oct 22, 2012 at 20:50

Guido Visguido VisserGuido Visser

2.0755 huy hiệu vàng26 Huy hiệu bạc40 Huy hiệu đồng5 gold badges26 silver badges40 bronze badges

3

Đây là một mô hình rất thường xuyên.

Bạn có thể kiểm tra nó bằng cách sử dụng

function parameterTest(bool) {
  if (bool !== undefined) {

Sau đó, bạn có thể gọi chức năng của mình với một trong những biểu mẫu đó:

 parameterTest();
 parameterTest(someValue);

Hãy cẩn thận không mắc lỗi thường xuyên của thử nghiệm

if (!bool) {

Bởi vì bạn sẽ không thể phân biệt một giá trị chưa được cung cấp với

function parameterTest(bool) {
  if (bool !== undefined) {
6,
function parameterTest(bool) {
  if (bool !== undefined) {
7 hoặc
function parameterTest(bool) {
  if (bool !== undefined) {
8.

Đã trả lời ngày 22 tháng 10 năm 2012 lúc 20:53Oct 22, 2012 at 20:53

Denys Séguretdenys SéguretDenys Séguret

362K84 Huy hiệu vàng769 Huy hiệu bạc740 Huy hiệu Đồng84 gold badges769 silver badges740 bronze badges

20

function parameterTest(bool)
{
   if(typeof bool !== 'undefined')
   {
     alert('the parameter exists...');
   }
   else
   {
     alert('The parameter doesn\'t exist...');
   }
}

Đã trả lời ngày 22 tháng 10 năm 2012 lúc 20:53Oct 22, 2012 at 20:53

0

Denys Séguretdenys Séguret

Trong JavaScript, nếu bạn bỏ qua việc đưa ra một tham số, nó sẽ mặc định là

function parameterTest(bool) {
  if (bool !== undefined) {
9.

Bạn có thể thử nó một cách dễ dàng, trong bảng điều khiển trình duyệt của bạn hoặc sử dụng jsfiddle.

Bạn có thể kiểm tra sự tồn tại của tham số, như bạn nói, và theo cách đó viết một hàm có thể sử dụng tham số hay không. Tuy nhiên, JavaScript Garden (một nguồn tài nguyên tuyệt vời) khuyến nghị tránh xa

 parameterTest();
 parameterTest(someValue);
0 trong hầu hết các trường hợp khác, vì đầu ra của nó chỉ là vô dụng (kiểm tra bảng kết quả của typeof).Oct 22, 2012 at 20:51

Đã trả lời ngày 22 tháng 10 năm 2012 lúc 20:51Johanna Larsson

Johanna Larssonjohanna Larsson6 gold badges38 silver badges49 bronze badges

2

10,2K6 Huy hiệu vàng38 Huy hiệu bạc49 Huy hiệu đồngparam is not undefined

function parameterTest(param) {
    if (param !== undefined)
    ...

Cách tốt nhất để kiểm tra: Nếu thông số không được xác địnhparam could be also a variable or a function name

Thông số cũng có thể là một biến hoặc tên hàmJan 16, 2014 at 13:43

Đã trả lời ngày 16 tháng 1 năm 2014 lúc 13:43ungalcrys

Ungalcrysungalcrys2 gold badges38 silver badges22 bronze badges

0

5,0082 Huy hiệu vàng38 Huy hiệu bạc22 Huy hiệu đồng

function parameterTest(p) {
    if ( p === undefined)
        alert('The parameter doesn\'t exist...');
    else
        alert('the parameter exists...');
}
Oct 22, 2012 at 20:55

Hướng dẫn javascript check parameter exists - thông số kiểm tra javascript tồn tại

Đã trả lời ngày 22 tháng 10 năm 2012 lúc 20:55manman

Manmanman3 gold badges27 silver badges41 bronze badges

0

4.4863 Huy hiệu vàng27 Huy hiệu bạc41 Huy hiệu đồng

function loadDialog(fn, f, local, anim) {
  switch (arguments.length) {  
    case 1: f=null;
    case 2: local=false;
    case 3: anim=false;
  }
  ...
}

ban đầu giá trị mặc định nếu không tồn tại:Jul 12, 2020 at 8:16

Hướng dẫn javascript check parameter exists - thông số kiểm tra javascript tồn tại

2

Đã trả lời ngày 12 tháng 7 năm 2020 lúc 8:16

function parameterTest(...test) {
  if (test.length) {
    return `exists`;
  } else {
    return `not exists`;
  }
}

parameterTest(123);         // exists
parameterTest(undefined);   // exists
parameterTest();            // not exists
parameterTest(window.blah); // exists

Không có câu trả lời nào trong số này làm điều đó cho tôi. Tôi cần biết nếu ai đó đã sử dụng tham số hay không. Nếu ai đó gọi chức năng vượt qua

function parameterTest(bool) {
  if (bool !== undefined) {
9, tôi muốn coi điều đó khi họ sử dụng giá trị đó làm tham số. Dù sao, giải pháp khá dễ dàng khi sử dụng một số JS hiện đại:

function parameterTest() {
  if (arguments.length) {
    return "exists";
  } else {
    return "not exists";
  }
}

Đối với các trình duyệt cũ hơn, bạn có thể sử dụng các đối số:Jun 4, 2021 at 9:14

Đã trả lời ngày 4 tháng 6 năm 2021 lúc 9:14Jamie Twells

Jamie Twellsjamie Twells4 gold badges26 silver badges52 bronze badges

2

1.7644 huy hiệu vàng26 Huy hiệu bạc52 Huy hiệu đồng

function parameterTest(bool) {
  if (bool !== undefined) {
0

 parameterTest();
 parameterTest(someValue);
2 là đúng

function parameterTest(bool) {
  if (bool !== undefined) {
1
function parameterTest(bool) {
  if (bool !== undefined) {
2

Ví dụ về mã:Aug 15, 2018 at 20:31

Hướng dẫn javascript check parameter exists - thông số kiểm tra javascript tồn tại

Đã trả lời ngày 15 tháng 8 năm 2018 lúc 20:31Ronnie Royston

Ronnie Roystonronnie Royston6 gold badges73 silver badges84 bronze badges

Huy hiệu vàng 14,5K673 Huy hiệu bạc84 Huy hiệu đồng

function parameterTest(bool) {
  if (bool !== undefined) {
3

Tôi biết điều này là cũ, nhưng đây là cách ưa thích của tôi để kiểm tra và gán các giá trị mặc định cho các chức năng:Apr 12, 2016 at 0:43