Mã này luôn hoạt động, ngay cả trong các trình duyệt khác nhau:
function fooCheck() {
alert(internalFoo()); // We are using internalFoo() here...
return internalFoo(); // And here, even though it has not been defined...
function internalFoo() { return true; } //...until here!
}
fooCheck();
Tôi không thể tìm thấy một tài liệu tham khảo duy nhất tại sao nó nên hoạt động, mặc dù. Lần đầu tiên tôi thấy điều này trong ghi chú trình bày của John Resig, nhưng nó chỉ được đề cập. Không có lời giải thích ở đó hoặc bất cứ nơi nào cho vấn đề đó.
Ai đó có thể xin giác ngộ tôi?