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

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 1, 20262026-06-01T21:06:33+00:00 2026-06-01T21:06:33+00:00

Will the native JavaScript constructors/functions like Function , Object , Array always be available

  • 0

Will the native JavaScript constructors/functions like Function, Object, Array always be available in any scope? Are they inherited by the global object or something like in the same level or even higher?

As an example, MooTools contains the following line in its self executing function:

var Function = this.Function;

So I asked myself, is there any situation where these native constructors become unavailable? Maybe in server side or strict JS? Or is it just a performance question to cache a local reference? But if so, why not doing it this way:

var Function = Function;
  • 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-01T21:06:35+00:00Added an answer on June 1, 2026 at 9:06 pm

    They have the same name, so you can’t do that.

    (function() {
        var Function = Function;
    
        return Function;
    })(); // undefined
    

    As to why it’s done in the first place? Supposedly to guard against user error or redefinitions, and also to reduce the amount of the scope chain the engine has to look up to find something. Relevant blog post: http://blog.minite.ch/?p=47

    Of course, Function isn’t read-only, so even if someone did redefine Function in the global namespace that wouldn’t help. Anybody who does this deserves it, though =)


    EDIT: If they actually did want to protect against user error, a foolproof way would be:

    var Function = (function() {}).constructor;
    

    But it’s pointless, as stated above.

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

Sidebar

Related Questions

TL;DR: Adding any non-built-in functions to Array.prototype AND Function.prototype will cause the IE8 native
I have a question regarding the native Array.forEach implementation of JavaScript: Does it behave
My HTML file has a javascript function xxx_return(), which will return a string value.
I'm newer in JavaScript.So maybe my question will seem naive. My JavaScript Code: <script
The empty() native in PHP will fail if the string is 0 or something
I heard that JNBridge will translate C# code to native Java code.( I haven't
Will GHC perform tail-call optimization on the following function by default? The only weird
So we're writing a full-text search framework MongoDb . MongoDB is pretty much javascript-native,
Hi I'm trying to do some basic javascript and am getting native code instead
I've been trying to troubleshoot this, but can't find a good function that will

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.