Hướng dẫn what happens if you dont pass any parameter in the javascript function? - Điều gì sẽ xảy ra nếu bạn không chuyển bất kỳ tham số nào trong hàm javascript?

Đó chỉ là cách JavaScript hoạt động. Các tham số là tùy chọn và sẽ có giá trị không thực tế "không xác định" trong hàm nếu chúng bị thiếu trong cuộc gọi hàm.

Bằng cách "tùy chọn", tôi có nghĩa là: gọi bất kỳ chức năng nào liên quan đến một danh sách dài các tham số tùy ý. Không cần phải có mối quan hệ giữa số lượng tham số được truyền cho một hàm và số lượng được khai báo. Cách tốt nhất để nghĩ về tuyên bố này, sau đó:

function x(a, b, c) {
  // ...
}

là bạn đang khai báo một hàm và ràng buộc tên "A" với tham số đầu tiên, "B" với thứ hai và "C" với thứ ba. Tuy nhiên, không có nghĩa là đảm bảo rằng bất kỳ ai trong số đó sẽ thực sự bị ràng buộc với một giá trị trong bất kỳ lời cầu khẩn nào của chức năng sau này.

Cùng một mã thông báo, bạn có thể xác định một hàm mà không có bất kỳ tham số nào, và sau đó "tìm" chúng thông qua đối tượng arguments:

function noArgs() {
  var a = arguments[0], b = arguments[1], c = arguments[2];
  // ...
}

Vì vậy, điều đó không hoàn toàn giống với hàm đầu tiên, nhưng nó gần như là hầu hết các cách được tính thực tế.

Giá trị "không xác định" trong JavaScript là một giá trị, nhưng đó là ngữ nghĩa là loại bất thường khi các ngôn ngữ đi. Cụ thể, nó không hoàn toàn giống với giá trị null. Ngoài ra, bản thân "không xác định" không phải là từ khóa; Nó chỉ là một tên biến bán chuyên nghiệp!


JavaScript function không thực hiện bất kỳ kiểm tra nào trên các giá trị tham số (đối số).


Tham số và đối số chức năng

Trước đó trong hướng dẫn này, bạn đã học được rằng các chức năng có thể có các tham số: parameters:

hàm functionName (tham số1, tham số2, tham số3) {& nbsp; // Mã được thực thi}
  // code to be executed
}

Các tham số chức năng là các tên được liệt kê trong định nghĩa chức năng.parameters are the names listed in the function definition.

Đối số chức năng là các giá trị thực được truyền đến (và nhận được bởi) hàm.arguments are the real values passed to (and received by) the function.


Quy tắc tham số

Định nghĩa chức năng JavaScript không chỉ định các loại dữ liệu cho các tham số.

Các hàm JavaScript không thực hiện kiểm tra loại trên các đối số được truyền.

Các hàm JavaScript không kiểm tra số lượng đối số nhận được.


Tham số mặc định

Nếu một hàm được gọi với các đối số bị thiếu (ít hơn được khai báo), các giá trị bị thiếu được đặt thành

function noArgs() {
  var a = arguments[0], b = arguments[1], c = arguments[2];
  // ...
}
0.missing arguments (less than declared), the missing values are set to
function noArgs() {
  var a = arguments[0], b = arguments[1], c = arguments[2];
  // ...
}
0.

Đôi khi điều này được chấp nhận, nhưng đôi khi tốt hơn là gán giá trị mặc định cho tham số:

Thí dụ

hàm myfunction (x, y) {& nbsp; if (y === không xác định) {& nbsp; & nbsp; & nbsp; y = 2; & nbsp; }}
  if (y === undefined) {
    y = 2;
  }
}

Hãy tự mình thử »



Đối tượng đối số

Các hàm JavaScript có một đối tượng tích hợp được gọi là đối tượng đối số.

Đối tượng đối số chứa một mảng của các đối số được sử dụng khi hàm được gọi (được gọi).

Bằng cách này, bạn có thể chỉ cần sử dụng một hàm để tìm (ví dụ) giá trị cao nhất trong danh sách các số:

Thí dụ

hàm myfunction (x, y) {& nbsp; if (y === không xác định) {& nbsp; & nbsp; & nbsp; y = 2; & nbsp; }}

Hãy tự mình thử »
  let max = -Infinity;
  for (let i = 0; i < arguments.length; i++) {
    if (arguments[i] > max) {
      max = arguments[i];
    }
  }
  return max;
}

Hãy tự mình thử »

Đối tượng đối số

Thí dụ

hàm myfunction (x, y) {& nbsp; if (y === không xác định) {& nbsp; & nbsp; & nbsp; y = 2; & nbsp; }}

Hãy tự mình thử »
  let sum = 0;
  for (let i = 0; i < arguments.length; i++) {
    sum += arguments[i];
  }
  return sum;
}

Hãy tự mình thử »

Đối tượng đối sốtoo many arguments (more than declared), these arguments can be reached using the arguments object.


Các hàm JavaScript có một đối tượng tích hợp được gọi là đối tượng đối số.

Đối tượng đối số chứa một mảng của các đối số được sử dụng khi hàm được gọi (được gọi).

Bằng cách này, bạn có thể chỉ cần sử dụng một hàm để tìm (ví dụ) giá trị cao nhất trong danh sách các số:value: The function only gets to know the values, not the argument's locations.

x = findMax (1, 123, 500, 115, 44, 88);

Changes to arguments are not visible (reflected) outside the function.


Hoặc tạo một hàm để tổng hợp tất cả các giá trị đầu vào:

x = sumall (1, 123, 500, 115, 44, 88);

hàm sumall () {& nbsp; Đặt tổng = 0; & nbsp; for (let i = 0; i reference:

Nếu một hàm được gọi với quá nhiều đối số (nhiều hơn được tuyên bố), các đối số này có thể được đạt được bằng cách sử dụng đối tượng đối số.

Đối số được truyền theo giá trị



Khai báo các tham số chức năng tùy chọn trong JavaScript

Chúng tôi tiếp tục với loạt hướng dẫn của Flexiple để giải thích mã và khái niệm đằng sau các trường hợp sử dụng phổ biến. Trong bài viết hôm nay, chúng ta hãy đi sâu vào cách các tham số tùy chọn trong JavaScript có thể được thực hiện và cũng hiểu chính xác nơi sử dụng chúng sẽ chứng minh là hữu ích nhất.

Mục lục

  • Các tham số tùy chọn là gì?
  • Các tham số tùy chọn hoạt động như thế nào?
  • Nó hữu ích nhất ở đâu?
  • Mã số
  • Hãy cẩn thận và tài liệu tham khảo

Các tham số tùy chọn là gì?

Các tham số tùy chọn hoạt động như thế nào?

Nó hữu ích nhất ở đâu?


function exampleFunction(parameter1, parameter2) {
    //code
}

Theo định nghĩa, một tham số tùy chọn là một tính năng tiện dụng cho phép các lập trình viên chuyển số lượng tham số ít hơn cho một hàm và gán giá trị mặc định.

Đầu tiên, trước tiên chúng ta hãy hiểu tham số tùy chọn từ có nghĩa là gì. Tham số là các tên được liệt kê trong định nghĩa chức năng. Chúng được sử dụng để xác định một hàm và còn được gọi là các tham số chính thức và các đối số chính thức. Trong ví dụ sau, tham số1 và tham số là các tham số của hàm 'AssignFunction'.

Các tham số tùy chọn hoạt động như thế nào?

Thông thường, khi bạn không vượt qua các tham số, 'không xác định' được truyền thay thế. Nhưng sử dụng các tham số tùy chọn, bạn có thể xác định giá trị mặc định. Vì vậy, bất cứ khi nào không có giá trị hoặc không xác định được thông qua, giá trị mặc định được thông qua ở vị trí của nó.

Chức năng JavaScript không có tham số?

Nó hữu ích nhất ở đâu?

Các tham số tùy chọn là tuyệt vời để đơn giản hóa mã và che giấu chức năng nâng cao nhưng không thường xuyên được sử dụng. Nếu phần lớn thời gian bạn gọi một hàm bằng cùng một giá trị cho một số tham số, bạn nên thử làm cho các tham số đó tùy chọn để tránh lặp lại.

Ví dụ: giả sử bạn đang sử dụng một chức năng để thực hiện tìm kiếm Google. Hàm này chấp nhận các tham số sau

Tham số 1: SearchEngineUrl searchEngineURL

Tham số 2: Tìm kiếmString searchString

Bây giờ, vì bạn luôn sử dụng công cụ tìm kiếm Google, bạn có thể gán giá trị mặc định cho tham số1 dưới dạng URL của Google và không phải lúc nào cũng vượt qua URL này và chỉ truyền tìm kiếm mỗi khi bạn gọi hàm. Do đó, SearchEngineUrl là tham số tùy chọn.searchString each time you call the function. Hence the searchEngineURL is the optional parameter.

Mã số

Tham số chức năng mặc định

Trong phương thức này, bạn có thể khởi tạo các tham số được đặt tên với các giá trị mặc định bất cứ khi nào không có giá trị hoặc không xác định được truyền.

function add(a, b = 1) {
    return a + b;
}

console.log(add(1, 2));
// expected output: 3

console.log(add(1));
// expected output: 2

Sử dụng thuộc tính không xác định

Bất cứ khi nào không có giá trị hoặc không xác định được chuyển đến một hàm, một câu lệnh có điều kiện (nếu) có thể được sử dụng để chuyển giá trị mặc định thay vì nếu bất kỳ tham số nào không được xác định.

//optional parameters JavaScript-Using undefined property
function add(a, b) {
    if (a === undefined) {
        a = 1;
    }
    if (b === undefined) {
        b = 1;
    }
    return a + b;
}

console.log(add(1, 2));
// expected output: 3

console.log(add(1));
// expected output: 2

Sử dụng các đối số biến

Các hàm JavaScript có một đối tượng tích hợp gọi là đối số. Nó chứa một mảng các tham số. Độ dài của mảng này cho số lượng tham số được truyền. Một câu lệnh có điều kiện được sử dụng để kiểm tra số lượng tham số được truyền và truyền các giá trị mặc định thay cho các tham số không xác định.

//optional parameters Javascript-Using arguments variable
function add(a, b) {

    if (arguments.length == 0) // Means no parameters are passed
    {
        a = 1;
        b = 2;
    }

    if (arguments.length == 1) // Means second parameter is not passed
    {
        b = 2;
    }
    return a + b;
}
console.log(add(5, 10));
// expected output: 15

console.log(add(5));
// expected output: 7

Sử dụng logic hoặc toán tử (‘||

Trong phương thức này, tham số tùy chọn là "trên logic" với giá trị mặc định trong phần thân của hàm. Trong ví dụ dưới đây, nếu giá trị của B không được xác định, 2 được truyền thay thế.

//optional parameters Javascript-Using the Logical OR operator (‘||’)
function add(a, b) {
    var b1 = b || 2;
    return a + b1;
}
add(5, 10);
// expected output: 15
add(5);
// expected output: 7

Hãy cẩn thận và tài liệu tham khảo

  • Kiểm tra các tham số mặc định của JavaScript của MDN cho nhiều sắc thái và giới hạn hơn
  • ECMAScript 2015 cho phép các giá trị tham số mặc định trong khai báo chức năng

Điều gì xảy ra nếu bạn không vượt qua bất kỳ tham số nào trong hàm JavaScript?

Thông thường, khi bạn không vượt qua các tham số, 'không xác định' được truyền thay thế.Nhưng sử dụng các tham số tùy chọn, bạn có thể xác định giá trị mặc định.Vì vậy, bất cứ khi nào không có giá trị hoặc không xác định được thông qua, giá trị mặc định được thông qua ở vị trí của nó.'undefined' is passed instead. But using Optional Parameters, you can define a default value. So, whenever no value or undefined is passed, a default value is passed in its place.

Chức năng JavaScript không có tham số?

Bài học ngắn gọn nói rằng các chức năng của người Viking có thể có số không, một hoặc nhiều tham số.Functions can have zero, one or more parameters”.

Tại sao chúng ta cần vượt qua các tham số?

Các tham số rất cần thiết cho các chức năng, bởi vì nếu không, bạn không thể cung cấp cho máy tính chức năng một đầu vào.because otherwise you can't give the function-machine an input.

Tôi có luôn phải thêm các tham số vào mọi chức năng trong JS không?

Khi một số mã khác, được tích hợp vào trình duyệt và bên trong hàm addEventListener gọi hàm bạn chuyển sang nó như một đối số, thì mã đó sẽ chuyển nó một đối tượng sự kiện dưới dạng đối số.Điều đó nói rằng, JS không yêu cầu bạn chuyển các đối số cho một hàm, ngay cả khi nó được thiết lập để gán chúng cho một biến.JS doesn't require you to pass arguments to a function, even if it is set up to assign them to a variable.