Tại sao có thể gọi hàm trong JavaScript như thế này, được thử nghiệm với node.js:
~$ node
> function hi() { console.log("Hello, World!"); };
undefined
> hi
[Function: hi]
> hi()
Hello, World!
undefined
> hi)( // WTF?
Hello, World!
undefined
>
Tại sao cuộc gọi cuối cùng hi)(
, làm việc? Đây có phải là lỗi trong node.js, lỗi trong công cụ V8, hành vi không được xác định chính thức hoặc JavaScript thực sự hợp lệ cho tất cả các trình thông dịch không?
.js
sẽ gây ra lỗi cú pháp
perl -ne '$x += $_; }{ print $x'
. Xem các tính năng ẩn của Perl