Tại sao câu trả lời này vẫn nhận được sự ủng hộ?
Theo câu trả lời của Mikaël Mayer , đây không còn là vấn đề nữa và câu trả lời của tôi đã lỗi thời ( go()
bây giờ trở lại 30
sau khi kết nối với bảng điều khiển). Điều này đã được sửa vào tháng 7 năm 2013, theo báo cáo lỗi được liên kết ở trên trong bình luận của gabrielmaldi . Nó cảnh báo tôi rằng tôi vẫn nhận được sự ủng hộ - khiến tôi nghĩ rằng người ủng hộ không hiểu câu hỏi hoặc câu trả lời của tôi.
Tôi sẽ để lại câu trả lời ban đầu của mình ở đây vì lý do lịch sử, nhưng thay vào đó hãy ủng hộ câu trả lời của Mikaël .
Bí quyết là bạn không thể thay đổi trực tiếp một biến cục bộ, nhưng bạn có thể sửa đổi các thuộc tính của một đối tượng. Bạn cũng có thể sửa đổi giá trị của một biến toàn cục:
var g_n = 0;
function go()
{
var n = 0;
var o = { n: 0 };
return g_n + n + o.n;
}
bảng điều khiển:
> g_n = 10
10
> g_n
10
> n = 10
10
> n
0
> o.n = 10
10
> o.n
10
Kiểm tra kết quả go()
sau khi thiết lập điểm ngắt và chạy các lệnh gọi đó trong bảng điều khiển, và bạn sẽ thấy rằng kết quả là 20, thay vì 0 (nhưng đáng buồn thay, không phải 30).
modeline
đến?