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 649537
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T21:57:18+00:00 2026-05-13T21:57:18+00:00

I have a lengthy JavaScript file that passes JSLint except for used before it

  • 0

I have a lengthy JavaScript file that passes JSLint except for “used before it was defined” errors.

I used normal function declarations, as in…

function whatever() {do something;}

as opposed to…

var whatever = function(){do something;};

and consistent with Steve Harrison’s reply to an earlier post…

Assuming you declare all your
functions with the function keyword, I
think it becomes a programming-style
question. Personally, I prefer to
structure my functions in a way that
seems logical and makes the code as
readable as possible. For example,
like you, I’d put an init function at
the top, because it’s where everything
starts from.

… I like seeing the functions in an order that makes sense to me.

The script functions perfectly in the several browsers tested (e.g., FireFox, Safari, Mobile Safari, Fennec, IE, Chrome, Midori, etc.).

Here’s the problem: I want to use the script inside of an iPhone app being built with Titanium but its compiler stops with “used before defined” errors.

How can I get around this?

This might be a stupid question but also… If functions need to be called in a particular order, how does one resolve the matter of a called function needing to call back to the function that originally called it? For instance…

function buildMenu(){
     Display a list of five menu items, each of which calls a function to build the associated screen.
}

function screen1() {
     Display the screen associated with menu item #1.
}

If the functions need to be declared in order, function screen1 would need to precede function buildMenu. But what if, under certain conditions, screen1 cannot be built and hence wants to redisplay the menu (i.e., calling a function that is technically not yet declared)?

Oh yeah… one more question: Are there websites or programs that automatically re-sequence the functions rather than requiring the programmer to do it manually?

  • 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-05-13T21:57:18+00:00Added an answer on May 13, 2026 at 9:57 pm

    No, EM’s answer is NOT the right solution. Try running this JavaScript:

    (function () {
       foo(); // right
    
       var foo = function () {
         console.log("wrong");
       };
    
       foo(); // wrong
    
       function foo() {
         console.log("right");
       }
    
       foo(); // wrong
    }());
    

    This is because the interpreter will first read the function declaration, create the name foo as a function that prints “right”, then reads the var statement, and find that there is already a name foo so it will skip creating a new variable with the value undefined, as normally happens. Then it processes the code, line-by-line, which includes an assignment to foo. The function declaration does not get reprocessed. Maybe this will behave differently in Titanium, but try this in Firebug and you’ll get what I got.

    A better solution is:

    var screen1, buildMenu;
    
    screen1 = function () { buildMenu(); };
    buildMenu = function () { screen1(); };
    

    This will also pass JSLint, and produce the correct behavior.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 371k
  • Answers 371k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer Here are some basic access examples: //get a single profile… May 14, 2026 at 7:06 pm
  • Editorial Team
    Editorial Team added an answer Make sure you have at least 1 Post in every… May 14, 2026 at 7:06 pm
  • Editorial Team
    Editorial Team added an answer Something like this should do: Select Action.* From Action Left… May 14, 2026 at 7:06 pm

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

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.