Hướng dẫn can you have two return statements in a function javascript - bạn có thể có hai câu lệnh trả về trong hàm javascript không

Tóm tắt: Trong hướng dẫn này, bạn sẽ học cách xác định các hàm JavaScript trả về nhiều giá trị.: in this tutorial, you will learn to define JavaScript functions that return multiple values.

Các hàm JavaScript có thể trả về một giá trị duy nhất. Để trả về nhiều giá trị từ một hàm, bạn có thể đóng gói các giá trị trả về dưới dạng các phần tử của một mảng hoặc là thuộc tính của một đối tượng.

Trả về nhiều giá trị từ một hàm bằng một mảng

Giả sử chức năng

let names = getNames[];

Code language: JavaScript [javascript]
6 sau lấy tên và tên cuối cùng từ cơ sở dữ liệu trong phần phụ trợ hoặc từ kết quả của cuộc gọi API của bên thứ ba và trả về chúng dưới dạng các phần tử của một mảng:

function getNames[] { // get names from the database or API let firstName = 'John', lastName = 'Doe'; // return as an array return [firstName, lastName]; }

Code language: JavaScript [javascript]

Những điều sau đây cho thấy cách lấy giá trị trả về từ hàm

let names = getNames[];

Code language: JavaScript [javascript]
6:

let names = getNames[];

Code language: JavaScript [javascript]

Vì biến

let names = getNames[];

Code language: JavaScript [javascript]
8 là một mảng, bạn có thể tham chiếu các phần tử của nó bằng dấu ngoặc vuông, như thế này:

const firstName = names[0], lastName = names[1];

Code language: JavaScript [javascript]

Trong ES6, bạn có thể sử dụng cú pháp phân công phá hủy để giải nén các giá trị khỏi một mảng bằng trực giác hơn, như thế này:

const [firstName, lastName] = getNames[];

Code language: JavaScript [javascript]

Trong mã này, các biến

let names = getNames[];

Code language: JavaScript [javascript]
9 và

const firstName = names[0], lastName = names[1];

Code language: JavaScript [javascript]
0 sẽ lấy các phần tử thứ nhất và thứ hai của mảng trả về.

Trả về nhiều giá trị từ một hàm bằng cách sử dụng một đối tượng

Nếu bạn muốn gán một tên cho mỗi giá trị được trả về để làm cho nó dễ đọc hơn và dễ bảo trì hơn, bạn có thể sử dụng một đối tượng:

function getNames[] { // get names from the database or API let firstName = 'John', lastName = 'Doe'; // return values return { 'firstName': firstName, 'lastName': lastName }; }

Code language: JavaScript [javascript]

Vì tên của các thuộc tính giống như các biến, bạn có thể rút ngắn nó bằng cách sử dụng các phần mở rộng cú pháp theo nghĩa đen trong ES6 như sau:

function getNames[] { // get names from the database or API let firstName = 'John', lastName = 'Doe'; return { firstName, lastName }; }

Code language: JavaScript [javascript]

Và bạn có thể nhận được giá trị trả về như một đối tượng như thế này:

let names = getNames[]; let firstName = names.firstName, lastName = names.lastName;

Code language: JavaScript [javascript]

Nếu bạn muốn giải nén các thuộc tính khỏi một đối tượng, bạn có thể sử dụng cú pháp phá hủy đối tượng như sau:

let { firstName, lastName } = getNames[];

Code language: JavaScript [javascript]

Bản tóm tắt

  • JavaScript không hỗ trợ các chức năng trả về nhiều giá trị. Tuy nhiên, bạn có thể bọc nhiều giá trị vào một mảng hoặc một đối tượng và trả về mảng hoặc đối tượng.
  • Sử dụng cú pháp gán phá hủy để giải nén các giá trị khỏi mảng hoặc thuộc tính từ các đối tượng.

Hướng dẫn này có hữu ích không?

Tôi đang cố gắng sử dụng nhiều lợi nhuận nhưng chỉ cần tiếp tục phá vỡ mã. Tôi đã thử một vài ví dụ, nhưng không thể tìm thấy sự kết hợp đúng đắn.

Làm thế nào tôi có thể kết hợp hai câu lệnh trả lại này thành một?

$[".bar"].popover[{
content: 
    function []{
        return $[this].data['dataObj'].status;
        return $[this].data['dataObj'].timeline;
    }
}];

Đã hỏi ngày 14 tháng 3 năm 2013 lúc 14:00Mar 14, 2013 at 14:00

2

Sử dụng

function []{
    return $[this].data['dataObj'];
}

HOẶC

let names = getNames[];

Code language: JavaScript [javascript]
0

HOẶC

let names = getNames[];

Code language: JavaScript [javascript]
1

Và xử lý các thành phần trong người gọi.

Cập nhật

Tham số

const firstName = names[0], lastName = names[1];

Code language: JavaScript [javascript]
1 cho

const firstName = names[0], lastName = names[1];

Code language: JavaScript [javascript]
2 cần một chuỗi làm đối số, bạn có thể làm điều này:

let names = getNames[];

Code language: JavaScript [javascript]
2

Đã trả lời ngày 14 tháng 3 năm 2013 lúc 14:02Mar 14, 2013 at 14:02

AtoztoaatoztoaATOzTOA

33,8K22 Huy hiệu vàng93 Huy hiệu bạc116 Huy hiệu đồng22 gold badges93 silver badges116 bronze badges

4

Đặt trường hợp cụ thể này sang một bên, trong đó plugin yêu cầu một loại giá trị trả về nhất định [rõ ràng là một chuỗi trong trường hợp này], bạn thực sự không thể ... một câu lệnh trả về chấm dứt hàm. Những gì bạn sẽ phải làm là trả về một đối tượng [hoặc một mảng] chứa hai giá trị đó -A return statement terminates the function. What you'll have to do is return an object [or an array] containing those two values -

let names = getNames[];

Code language: JavaScript [javascript]
3

Hoặc

let names = getNames[];

Code language: JavaScript [javascript]
4

Đã trả lời ngày 14 tháng 3 năm 2013 lúc 14:02Mar 14, 2013 at 14:02

AtoztoaatoztoaLix

33,8K22 Huy hiệu vàng93 Huy hiệu bạc116 Huy hiệu đồng12 gold badges99 silver badges128 bronze badges

Đặt trường hợp cụ thể này sang một bên, trong đó plugin yêu cầu một loại giá trị trả về nhất định [rõ ràng là một chuỗi trong trường hợp này], bạn thực sự không thể ... một câu lệnh trả về chấm dứt hàm. Những gì bạn sẽ phải làm là trả về một đối tượng [hoặc một mảng] chứa hai giá trị đó -

let names = getNames[];

Code language: JavaScript [javascript]
5

Đã trả lời ngày 14 tháng 3 năm 2013 lúc 14:04Mar 14, 2013 at 14:04

HoặcGlen Swift

Lixlix14 gold badges45 silver badges77 bronze badges

1

Hãy thử trả về một mảng với .Status và .Timeline dưới dạng các yếu tố. OK lix nhanh hơn.

Đã trả lời ngày 14 tháng 3 năm 2013 lúc 14:04Mar 14, 2013 at 14:04

CMONCMONCmon

134 Huy hiệu đồng4 bronze badges

0

Một chức năng có thể có 2 trở lại?

Bạn không thể trả về hai giá trị.Tuy nhiên, bạn có thể trả về một giá trị duy nhất là một cấu trúc chứa hai giá trị.. However, you can return a single value that is a struct that contains two values.

Một hàm có thể chứa nhiều câu lệnh trả về?

Sử dụng lợi nhuận với các chức năng Python điều kiện không bị hạn chế để có một câu lệnh trả về duy nhất.Nếu một hàm nhất định có nhiều hơn một câu lệnh trả về, thì cái đầu tiên gặp phải sẽ xác định kết thúc thực thi của hàm và cả giá trị trả về của nó.Python functions are not restricted to having a single return statement. If a given function has more than one return statement, then the first one encountered will determine the end of the function's execution and also its return value.

Bài Viết Liên Quan

Chủ Đề