Tôi bị kẹt với chức năng sau xuất hiện trong một vài bài đăng khác mà tôi cũng đã xem xét.Làm rõ tính năng tìm kiếm của JavaScript Eloquent
function findSequence(goal) {
function find(start, history) {
if (start == goal)
return history;
else if (start > goal)
return null;
else
return find(start + 5, "(" + history + " + 5)") ||
find(start * 3, "(" + history + " * 3)");
}
return find(1, "1");
}
print(findSequence(24));
Cũng được cung cấp trong liên kết này.
Javascript..totally lost in this tutorial
Trong lời giải thích ở trên, câu trả lời thay vì cố gắng để thiết lập một mục tiêu 11. Họ có một sự khởi đầu của 1, đó là lần đầu tiên thử nghiệm so với 11, và sau đó một sự khởi đầu của 6 được thử nghiệm chống lại 11 .
Tôi hiểu hai bước đầu tiên này. Tuy nhiên, tôi không hiểu bước nhảy vọt từ bước thứ hai (so sánh start
: 6 đến goal
: 11) đến bước thứ ba (so sánh start
: 3 đến goal
: 11).
Làm cách nào để start
chuyển từ 6 trở xuống thành 3 và sau đó sao lưu tối đa 11 (dấu đầu dòng thứ tư)?
Tiếng Anh là ngôn ngữ đầu tiên của tôi. –
Giải thích này trong bài đăng rất hữu ích, đó là lý do tại sao tôi đã cung cấp liên kết thay thế. – KMcA
kiểm tra câu trả lời này - có thể nó có thể làm rõ. http://stackoverflow.com/questions/7540111/javascript-closure-tutorial-from-eloquent-javascript?lq=1 – c69