Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8220573
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 7, 20262026-06-07T13:34:06+00:00 2026-06-07T13:34:06+00:00

The following script outputs 1 2 3 4 5 6 7.. I would assume

  • 0

The following script outputs 1 2 3 4 5 6 7.. I would assume it would output 0 1 2 3 4 5 …

In fact, in my actual code I believe the print(lostCnt) always is connected to the latest (acting like a global) last count update. Why is this? And what can I do to have it keep the actual cnt with the constraint that I can’t modify any of the code in obj1.

<!DOCTYPE html>

<html>
<head>
<script type="text/javascript">
function obj1(parameter, callback){
    setTimeout(callback, parameter);
}
function caller(){
    function miscFunction(cnt){
        document.getElementById("main").appendChild(document.createTextNode(cnt));
    }
    var lostCnt = 0;
    setInterval(
        function(){
            new obj1(5, 
                function(){
                    miscFunction(lostCnt);
                });
           lostCnt++;
        },5000
    );
}   
</script>


</head>
<body onload="caller();">
<div id="main">
</div>
</body>

</html>

Thanks, and this is my first post

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-07T13:34:07+00:00Added an answer on June 7, 2026 at 1:34 pm

    The lostCnt++ executes before the first call to miscFunction().

    The obj1 constructor doesn’t show the number until 5 milliseconds after it’s constructed. It’s only at that point that the callback is called, and the callback references lostCnt directly – not a saved copy of what it was when the obj1 instance was created.

    So your supposition is correct, and I think it’s pretty obvious — the callback passed to the obj1 constructor is referencing lostCnt directly.

    If you want to do it differently, you could do this:

    setInterval(
        function(){
            new obj1(5, 
              function(savedLostCnt) {
                return function(){
                    miscFunction(savedLostCnt);
                };
              }(lostCnt));
            lostCnt++;
        },5000
    );
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Sometime during the dark ages a script was built that outputs the following html..
I thought the following script will create div element but I got nothing output
From what I understand, the output from the following script should include Win32_PerfRawData_PerfDisk_PhysicalDisk in
I have the following code <xsl:result-document href=output1/output3/index.html format=html> <html> <head> <SCRIPT LANGUAGE=JavaScript> function getParams()
Check out the following snippet of HTML/Javascript code: <html> <head> <script type=text/javascript> var alerts
In the following script I would like to pull out text between the double
I have the following javascript code: <script type=text/javascript> var x = 10; window.onload =
I have following btrace script. I would like to record entry and exit of
I have a script, called test.py , that does the following: while (1): ....print
I have the following code that will count the elapsed time and print the

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.