◆ JavaScript

Capture loop variable in closures

This is real work, not a feature someone invented — it comes from real job ads and real questions people asked. Below are four ready AI prompts: get it done, make it easy for the next person to say yes to, work out the right move when you are stuck, and stop it coming back.

4prompts

The same task, four prompts

today's deadline · the next reviewer · the stuck moment · the pattern
AExecute — do the immediate taskI need to fix the event listeners in the user profile module. When a user clicks 'Edit', the…+
I need to fix the event listeners in the user profile module. When a user clicks 'Edit', the current user ID needs to be correctly captured so the update function knows which profile to modify. The existing code always updates the first user in the list.
when the reply comes backPush once: ask it to sharpen the weakest part, and to say what it assumed. Helpful?
BImprove — make it easier to acceptBefore I push the user management system to staging, I need to make sure the user ID is…+
Before I push the user management system to staging, I need to make sure the user ID is correctly bound to each 'Edit' and 'Delete' button's click handler. The current setup is causing stale closures, leading to the wrong user's data being manipulated. I need a robust way to ensure each button correctly references its corresponding user.
when the reply comes backPush once: ask it to sharpen the weakest part, and to say what it assumed. Helpful?
CDecide — diagnose the stuck momentThe client is seeing user profile edits go wrong. It's always updating the first user, even…+
The client just reported that editing any user profile on the admin dashboard always modifies the first user in the list, even though the correct user's data loads initially.
The client is seeing user profile edits go wrong. It's always updating the first user, even when they select a different one. I suspect a closure issue where the loop variable isn't correctly captured for each event listener. I'm afraid this could corrupt data or expose the wrong information. What's the most reliable pattern to ensure each 'Edit' button's click handler correctly references its specific user ID, and how do I retroactively check for other places this might be happening?
when the reply comes backPush once: ask it to sharpen the weakest part, and to say what it assumed. Helpful?
DBecome — change the patternI'm constantly debugging situations where event listeners within loops capture the wrong…+
I keep running into issues with event listeners inside loops, where the wrong data or ID is captured, leading to bugs that are hard to trace.
I'm constantly debugging situations where event listeners within loops capture the wrong variable, leading to incorrect actions or data. This burns a lot of time and sometimes slips into production. What habit should I change in how I write these loops and attach event handlers to prevent these closure-related bugs from happening in the first place, especially when dealing with dynamic lists?
when the reply comes backPush once: ask it to sharpen the weakest part, and to say what it assumed. Helpful?

Questions people actually ask

honest answers, no sign-up

Every task here was seen in the real world. Someone doing the job named it, a real job ad asked for it, or a lot of people asked about it online.

If nothing real showed a task, it is not on the page. That is the whole rule.

They are the same job approached four ways, because what you need depends on where you are.

Get it done today. Make it easy for the next person to say yes to. Work out the right move when you are stuck. Learn the pattern so the job stops coming back.

For most of these jobs it can carry the heavy thinking - draft it, sort it, check it, rehearse it with you.

It cannot sit in your chair, take the blame when a number is wrong, or notice what nobody wrote down. Let it do the first 80%. Keep the last 20% that is truly yours.

No. Copy any prompt and paste it into the AI you already use. No account, no score, no wall in the way.

Any of them. The prompts describe the work rather than naming a product, so they are not tied to one assistant.

That is also why they keep working when you switch.

Change it freely. Every prompt is a starting line, not a rule.

Put in your real numbers, your real names and your real deadline. The more you make it yours, the better the answer comes back.

The tasks come from real job ads, published job data and the questions people ask in public forums.

The steps come from JavaScript's own documentation, with practitioner sources for the traps the manual does not mention.

Push once. Ask it to sharpen the weakest part and to say what it assumed.

Most wrong answers come from a missing detail rather than a bad prompt - tell it the thing it could not know.