Đây là một chút theo dõi tới this question.Tại sao địa phương được xác định tại thời gian biên dịch?
- Tại sao địa phương được xác định tại thời gian biên dịch chứ không phải tại thời gian thực hiện? Nó hoàn toàn cho hiệu suất?
- Có các ngôn ngữ tra cứu biến của chúng tại thời điểm thực thi không? I E. mỗi khi một biến được truy cập, biến này được tìm kiếm lần đầu tiên trong phạm vi cục bộ và sau đó tìm kiếm leo thang qua tất cả các phạm vi kèm theo?
- Các ngôn ngữ ECMA xử lý việc này như thế nào?
Để đặt câu hỏi 2 nói cách khác: Có ngôn ngữ mà đoạn mã sau (trong cú pháp cần thiết) hoạt động:
def f(): print ('f')
def g():
f()
f = 42
g()
mã nên làm gì? –
In 'f' mà không tăng' biến cục bộ không liên kết' hoặc gì đó dọc theo dòng này. – Hyperboreus