Return 1 là gì

function a() return 1; function b() return(1); Tôi đã bình chọn mã trên vào bảng tinh chỉnh và điều khiển của Chrome với cả nhị hồ hết trả về 1.

Bạn đang xem: Return 1 là gì

function c() return "1"; function d() return("1"); Tôi cũng đã kiểm soát đoạn mã sống bên trên và cả nhì hàm đầy đủ trả về "1".

Vì vậy, sự khác biệt giữa áp dụng returnvới là return()gì?


PaulS. — luôn luôn cảm giác bồn chồn void(0)do nó biết tới viết tắt mang đến không khẳng định . Vì vậy, nếu như nó là tốc ký kết, vì sao lại bao hàm các ký từ không bắt buộc thiết? ;-)
RobG Tôi nghĩ rằng đó là một trong những carry-over trường đoản cú Pybé nhỏ cùng đích thực hoàn toàn có thể bổ ích so với ngôi trường đúng theo quan trọng đặc biệt, địa điểm bạn muốn bao gồm các đơn vị khai thác void i = 1; // ReferenceErrorvsvoid (i = 1); // undefined
quý khách hàng rất có thể yêu thích với thắc mắc này, đó là câu hỏi của khách hàng vận dụng đến C #: stackoverflow.com/questions/2186595/…

Giống nlỗi giữa

var i = 1 + 1;và

var i = (1 + 1);Đó là, không tồn tại gì. Dấu ngoặc solo được phnghiền vị chúng được phnghiền vào bất kỳ biểu thức làm sao nhằm tác động đến đồ vật tự nhận xét, tuy thế trong các ví dụ của khách hàng, chúng chỉ với vượt.

returnchưa phải là một trong những hàm, mà là một trong những câu lệnh . Nó giống như về mặt cú pháp cùng với các câu lệnh luồng tinh chỉnh đơn giản và dễ dàng khác ví như breakcùng continuecũng ko áp dụng lốt ngoặc đối kháng.


Một câu lệnh trả về rất có thể được theo sau vị một biểu thức. Một cực hiếm trả về đề xuất nằm trong một hàm, vì vậy, hàm trả về giá trị của biểu thức hoặc nếu như không có quý hiếm kia, thì không xác minh .
Đây là 1 trong câu trả lời hoàn hảo và tuyệt vời nhất với một ví dụ hoàn hảo, nhưng lại tôi nghĩ hoàn toàn có thể đáng giá thêm rằng "return" không phải là một trong hàm vào câu vấn đáp chủ yếu - vày sẽ là căn nguyên của sự việc hiểu nhầm dẫn đến thắc mắc này.
BiscuitBaker: Tôi đã thêm một ít. Khi tôi jotted xuống vấn đáp nlắp gọn này, tôi đã không hy vọng hóng nó để có được 50 upvotes ...

Không tất cả sự khác hoàn toàn.

returnkhông hẳn là 1 trong những lời Gọi hàm, tuy nhiên là một câu lệnh ngôn từ. Tất cả đều gì nhiều người đang làm cho cùng với dấu ngoặc 1-1 chỉ với team quý giá trả về của khách hàng để nó rất có thể được reviews. lấy một ví dụ, chúng ta có thể viết:

return (x == 0);Trong trường thích hợp này, bạn trả về quý giá của câu lệnh x == 0, quý hiếm này đang trả về quý hiếm boolean truehoặc falsetùy ở trong vào cực hiếm của x.


Việc đánh giá câu lệnh trả về ko yêu cầu "phân nhóm". Vì vậy, trong mọi trường đúng theo sẽ có được một trả về boolean.

Trên thực tiễn ở chỗ này mức độ ưu tiên ()cao hơn nữa cho nên nó reviews trước:

Tại phía trên, trước nhất ("1")hãy đánh giá, theo cách sau:

return "1";Xem trực quan:

*

Vì vậy, về cơ bản không tồn tại sự khác hoàn toàn về tính năng tuy vậy loại trang bị hai rất có thể khá đủng đỉnh một ít do trước tiên nó giải quyết những vết ngoặc.


Tại sao chúng ta lại chỉ dẫn một xác minh hoàn toàn không được xác minh rằng "dòng thiết bị hai rất có thể lờ đờ hơn một chút" khi chưa phải như vậy?

Hoàn toàn không có sự biệt lập. Nếu bạn sẽ để mắt tới quánh tả JS (ECMAScript) của câu lệnh trả về . Trong số những điều không giống, nó đã nói cùng với bạn:

return Biểu thức;

nhưng chúng ta có thể hỗ trợ biểu thức return. Biểu hiện tại được hello, Math.abs(x), yourCustomFunc(7), hoặc trong trường phù hợp thứ đôi bạn này có thể 1hoặc (1). Biểu hiện nay 1sau khoản thời gian review như thể (1)cùng giống (((((1))))))hoặc thậm chí y hệt như một cái nào đó đích thực kỳ quái nhỏng (+(!(+(!1)))).


Wolf Tôi vẫn không kiếm thấy như vậy. Đây là 1 trong những trang không giống, nhưng mà cũng là một trang people.mozilla.org/~jorendorff/…
Vâng, xứng đáng buồn. Tôi cũng ko thành công xuất sắc. Còn về bài toán mở rộng câu trích dẫn của khách hàng thành cục bộ cú pháp của câu lệnh trả về?

Không gồm sự biệt lập, vết ngoặc đơn là tùy lựa chọn. Xem MSDN :

return<(><)>;Đối số biểu thức tùy lựa chọn là quý hiếm được trả về trường đoản cú hàm. Nếu bị bỏ lỡ, hàm không trả về giá trị.

Quý khách hàng áp dụng câu lệnh return để dừng triển khai một hàm với trả về quý giá của biểu thức. Nếu biểu thức bị bỏ qua mất hoặc không có câu lệnh trả về nào được thực thi trường đoản cú bên phía trong hàm, biểu thức được hotline là hàm hiện giờ sẽ được gán cực hiếm không xác định.

Xem thêm: Sole Proprietorship Là Gì ? Định Nghĩa, Ví Dụ, Giải Thích Các Loại Hình Công Ty Tại Singapore


Chỉ MS mới cho rằng câu hỏi tạo ra đội là "tùy chọn" trong câu lệnh trả về . Chúng là "tùy chọn" ngơi nghỉ đó như trong bất kỳ biểu thức làm sao hoặc phần lớn không giống của ngữ pháp.
RobG: Nhưng cụ thể, chúng có khá nhiều kĩ năng được hỏi về trong một returntuyên ổn cha rộng. : P.. MS chắc rằng sẽ căng thẳng mệt mỏi cùng với việc trả lời câu hỏi từ JS noobs.
"Có một sự khác hoàn toàn cho người gọi." Vâng, đúng: Thông số MSDoanh Nghiệp ý niệm sai về điều đó return (expressioncùng return expression)là hợp pháp.

returnlà 1 trong câu lệnh một tự khóa bắt đầu câu lệnh trả về , không phải là 1 trong những hàm.

Như đã được kể, những vết ngoặc đối kháng tác động cho thứ từ Reviews, tuy thế không được áp dụng để "thực thi" hàm được lấy tên return. Đó là nguyên nhân vì sao các dòng này hoạt động nhưng mà ko gặp mặt ngẫu nhiên sự cố kỉnh nào:

return (1);var a = (1);Trên thực tế, chúng tương đồng với mọi cái sau:

return 1;var a = 1;Lý do khiến return()ra lỗi cú pháp là do lý do đúng mực cơ mà mẫu sau tạo thành lỗi (bao hàm câu lệnh trả về để so sánh):

return(); // SyntaxError: syntax errorvar a = (); // SyntaxError: syntax error
— IQAndreas nguồn
Và chỉ là một trong lưu ý phụ, ví như returnkhông bao hàm bất kỳ điều gì sau nó, nó mang sử bạn muốn trở lại undefined.
— IQAndreas
Wolf Các biểu thức là tùy chọn, vì chưng vậy returnphiên bản thân nó là một câu lệnh trả về.
— Paul
6
Có sự khác biệt không hề nhỏ đối với con fan với không tồn tại sự biệt lập đối với lý lẽ Javascript.

return 1là câu lệnh knhị báo rằng họ nên bay tức thì ngoài hàm có quý giá 1.

return(1)là câu lệnh tựa như được ngụy trang dưới dạng lệnh call hàm theo quy ước dở hơi nnơi bắt đầu rằng chúng ta không sẽ phải ckém khoảng tầm White bên phía ngoài lốt ngoặc đối kháng trong Javascript. Nếu bạn sử dụng mã như vậy này vào hệ thống thêm vào, ngẫu nhiên người gia hạn nào sẽ đến văn uống phòng của bạn cùng với tiền cọc với ngọn gàng đuốc, sau khi dành riêng một thời hạn cố gắng ra quyết định xem chúng ta gồm thực sự bao gồm return()tính năng chỗ nào đó vào codebase hay không tuyệt chỉ băn khoăn returntừ khóa cần sử dụng để làm gì.

Nhỏng không ít người dân không giống sẽ nói đúng chuẩn, lốt ngoặc solo không có công dụng gì không tính "nhóm" tất cả nghĩa Black mang đến số được ưu tiên cao hơn nữa 1.


— hijarian nguồn
3
"Có sự biệt lập rất lớn đối với nhỏ người" - Không phải những người dân bao gồm năng lực. "và một câu lệnh được ngụy trang dưới dạng lệnh Call hàm" - không tồn tại returntác dụng như thế nào . "quy ước đần ngốc rằng bạn không cần phải cyếu khoảng chừng trắng phía bên ngoài vết ngoặc đối kháng vào Javascript" - phần đông không tồn tại ngôn từ làm sao đề nghị điều đó; Call điều đó là đần nnơi bắt đầu. "ngẫu nhiên tín đồ duy trì nào sẽ đến vnạp năng lượng chống của công ty cùng với cổ phần và ngọn đuốc" - không ai có thẩm quyền vẫn có tác dụng. return(1)là thực hành kém tuy vậy những người dân tức bực về phần đa điều những điều đó đang tiêu tốn lãng phí tài nguyên với tạo thành bầu ko năng lượng tiêu cực.
— Jyên ổn Balter
JimBalter "Những bạn không tồn tại thẩm quyền" - ha! "Hầu như không có ngôn từ như thế nào đòi hỏi điều đó" - chính là nguyên nhân tại sao tôi nói "quy ước". Nếu nó dở hơi nnơi bắt đầu, nó được Hotline là "ngớ ngẩn ngốc". "Không gồm returntác dụng như thế nào " - câu hỏi phiên dịch viên cnóng chúng ta ĐK một chức năng cùng với tên returnvẫn không giúp bạn đọc mã không đặt thắc mắc về việc tỉnh giấc táo của bản thân mình trước tiên, do vậy, mã này là tiêu tốn lãng phí. return(1)không chỉ là "thực hành kém", là một tín hiệu nguy nan của một tín đồ nào đó ngần ngừ mình đang làm cho gì!
— hijarian
2
Vì vậy, các bạn lần chần "nghĩa vụ" tức thị gì, hoặc bạn đang biến đổi đòi hỏi của bản thân mình ... bằng phương pháp như thế nào đó, tôi sẽ không còn lãng phí thời gian của tôi cho mình nữa.
— Jyên ổn Balter
Tôi nghi ngại sự troth của câu cuối cùng của bạn; returncó (vào toàn bộ các ngôn từ tôi biết tất cả từ bỏ khóa này) được ưu tiên tối thiểu. Vì vậy, nếu biểu thức tùy lựa chọn có mặt, nó luôn được Review trước tiên.
— Wolf
4

Trong câu lệnh return, các dấu ngoặc quanh biểu thức đã làm được tạo thành sẵn.

Trong JavaScript, cũng giống như những ngôn ngữ khác (như C, C ++, Java, Python), câu lệnh trả về tất cả hai phần: tự khóa returncùng biểu thức (tùy chọn). Vì vậy, trong bất kỳ trường vừa lòng làm sao, toàn bộ đa số gì theo sau returntự khóa trước tiên được đánh giá là một trong những biểu thức , sau đó, câu lệnh trả về được "thực thi" bằng cách đưa tinh chỉnh trở về trình Call.

Việc sử dụng hay không áp dụng dấu ngoặc solo là sự việc về phong cách dáng , trong lúc phần nhiều những giải đáp hình trạng phần đa cấm bọn chúng so với các ngôi trường thích hợp bé dại nhặt nhỏng trường phù hợp được trích dẫn vào thắc mắc của chúng ta, bởi vì nó khiến cho trả về trông giống một hàm.

Phụ lục sau

Nếu bao gồm vệt ngoặc đơn hoặc không có, chớ lúc nào quên đặt biểu thức tùy chọn phía đằng sau return, nghĩa là, vào và một loại. Các cạm bẫy thực với returnvào sự dối trá JavaScript trong Việc thêm 1 ngắt loại sau nó:

function test() return 1;... vày testhàm bên trên đã trả về undefined.

Xem thêm: 4 Cách Reset Máy Tính, Cài Đặt Lại Win Như Lúc Mới Mua Về, Làm Thế Nào Để Reset Win 8


— chó sói mối cung cấp
1

bằng phương pháp thêm lốt ngoặc đối chọi, công ty chúng tôi vẫn đảm bảo rằng javascript ko cyếu vệt chnóng phẩy trước những câu lệnh được viết sau khoản thời gian trả về, nhằm tsay đắm khảo: - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar #Automatic_semicolon_insertion

ví dụ :

return a + b;

được đưa thành

return; a + b;

bởi ASI.

Bảng điều khiển và tinh chỉnh vẫn chú ý "mã không thể truy cập được sau câu lệnh trả về". Để tách sự việc này (nhằm ngăn ngừa ASI), chúng ta có thể thực hiện lốt ngoặc đơn:

return ( a + b );mã được xào nấu từ: - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/return


— Rahul Singh Bhadhoriya mối cung cấp
Như vậy trọn vẹn chính xác cùng theo cách đó nó bao gồm ý nghĩa sâu sắc đối với các biểu thức phức tạp. Nhưng chúng ta nên cung cấp cùng một dòng hoặc ngay sau return vào câu đầu tiên để triển khai cho nó rõ ràng hơn. Tôi cho rằng sự phản nghịch đối xuất hành từ những việc đọc sai về vấn đề này.
— Wolf
Khi thực hiện trang web của Cửa Hàng chúng tôi, bạn xác nhận rằng bạn vẫn hiểu với hiểu Chính sách cookie với Chính sách bảo mật của Shop chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.

Chuyên mục: Kiến Thức