Hãy xem xét mã Javascript sau.Tại sao lệnh trả lại Javascript không hoạt động khi giá trị trả về nằm trên một dòng mới?
<script language="javascript" type="text/javascript">
function correct()
{
return 15;
}
function wrong()
{
return
15;
}
alert("correct() called : "+correct());
alert("wrong() called : "+wrong());
</script>
Phương pháp correct()
trong đoạn mã trên trả về giá trị đúng mà là trong trường hợp này. Phương thức wrong()
, tuy nhiên trả về undefined
. Như vậy không phải là trường hợp với hầu hết các ngôn ngữ khác.
Hàm ở phía dưới tuy nhiên chính xác và trả về giá trị đúng.
function wrong()
{
return(
15);
}
Nếu cú pháp là sai, cần ban hành một số lỗi biên dịch nhưng nó không. Lý do tại sao điều này xảy ra?
bản sao có thể có của [Quy tắc chèn dấu chấm phẩy tự động của Javascript là gì?] (Http://stackoverflow.com/questions/2846283/what-are-the-rules-for-javascripts-automatic-semicolon-insertion) –
Đây là một trong những lý do mà tôi đặt parens xung quanh giá trị trả lại của tôi. – jfriend00
Kết quả là 15, không phải 10 như hiển thị. –