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

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T05:32:55+00:00 2026-05-15T05:32:55+00:00

Is there a reason for object functions to be unset or deleted or simply

  • 0

Is there a reason for object functions to be unset or deleted or simply not applied for any reason at all that isn’t intentional?

I am maintaining someone elses code and gone through it many times. I use Google Chromes awesome debugger and also TextMate. These help me find the origin of error relatively fast.

The problem I have now is that i have an object: types. This object contains…types. And these types have functions and other variables attached to them.

For some reason in the middle of the code, this type has been passed by reference millions of times probably. When it comes to a certain part of the code parts of it, seem to have disappeared. Puff! And it’s gone..!

Anyone have a clue (other than it being removed somewhere else earlier in the code, I’m already looking for that)

Example

Right now I am simply adding the functions on the fly. Not liking it though, feel a little out of control of the code:

if(identifier.kind.hasOwnProperty('getWarning')) {
    identifier.kind.getWarning = CLEANROOM.types[kind].getWarning;
}
  • 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-15T05:32:57+00:00Added an answer on May 15, 2026 at 5:32 am

    No, properties of objects will not mysteriously disappear for no reason — at least, not barring implementation bugs, which should be easily ruled out by seeing if the same thing happens in IE, Chrome, and Firefox, which each have their own (and very different) implementations of Javascript.

    If any of those layers happens indirectly, though, that’s another matter. For instance, if at some point something is serializing the object to a JSON string and then reconstituting it, the result will be an object with nearly all of the properties with data bound to them but none of the ones with functions bound to them. But that’s not passing a reference around, that’s serializing and deserializing.

    The same thing could happen if something is making a copy like this:

    dest = {};
    for (name in src) {
        value = src[name];
        if (typeof value !== "function") {
            dest[name] = value;
        }
    }
    

    E.g., something making a data-only copy. It can also happen less obviously, if something does this:

    function clone(src) {
        dest = {};
        for (name in src) {
            if (src.hasOwnProperty(name)) {
                dest[name] = src[name];
            }
        }
        return dest;
    }
    

    That makes a “shallow” copy of the object, only copying the properties it has set on it, itself, and ignoring any properties it gets from its prototype. Most (but by no means all) of the properties objects inherit from their prototypes tend to be functions, and so the result of that can seem to be a data-only copy. Example:

    function Thingy() {
    }
    Thingy.prototype.foo = function() {
    }
    var t = new Thingy();
    t.bar = 42;
    // `t` has a `foo` function bound to it, indirectly through its prototype,
    // and a `bar` property with the value 42
    var x = clone(t);
    // `x` does *not* have a `foo` function, but it does have a `bar` property,
    

    Of course, you can also happily delete properties from objects that refer to functions:

    for (name in obj) {
        if (typeof obj[name] === "function" && obj.hasOwnProperty(name)) {
            delete obj[name];
        }
    }
    

    But again, that’s not implicit, that’s explicit. But if it’s hidden in a worker function somewhere, it’d be pretty easy to miss.

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

Sidebar

Related Questions

In ASP.NET, is there any reason not to make a set of functions that
Is there any reason not to set up the install so that major upgrade
Is there any reason not to use the bitwise operators &, |, and ^
Is there any reason something like this would not work? This is the logic
Is there any reason why I should pick JSON over XML, or vice-versa if
Is there any reason to use a varchar field instead of a date field
Is there any reason to start a GUI program (application for Windows) written in
Is there any reason for the use of 'T' in generics? Is it some
Is there any reason to prefer a CharBuffer to a char[] in the following:
Is there any reason to prefer unicode(somestring, 'utf8') as opposed to somestring.decode('utf8') ? My

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.