megaphone
Update your Profile with your Support type to get your Support Type badge.
Nominate Your Peers for NetSuite Support Community's Choice of the Quarter! Submit your nomination today.
Stay in the know of how NetSuite can help grow your business with our guides, webinars, and events. Subscribe Here
What Topic Should We Cover Next? Your idea could be our next feature—drop your suggestion now!
No Limits. Just possibilities. Join us for complimentary one-day events around the world and step into a future fueled by AI and limitless potential. Discover what's next at SuiteConnect Tour 2026.
Try Intelligent Payment Automation – Fee Free For Your First Month For more information, visit this thread.
New AI Community Guidelines. Please review and follow them to ensure AI use stays safe, accurate, and compliant.
Expand your NetSuite knowledge by joining our Ask A Guru Live sessions. RSVP on this event now.

Discussions

Stay up-to-date with the latest news from NetSuite. You’ll be in the know about how to connect with peers and take your business to new heights at our virtual, in-person, on demand events, and much more.
New AI Community Guidelines. Please review and follow them to ensure AI use stays safe, accurate, and compliant.

Not really SuiteScript, but JS question: overriding another objects methods

edited Dec 2, 2019 6:22PM in SuiteCloud / Customization

It isn't really overriding because the two objects are in the same hierarchy, it's more "hijacking".

What I want to do is have one object ("Mgr") hijack a method on an instance of another object ("Widget")

My real code is way complex and messy, but I banged out a very simple example that illustrates what I want.  I'm sure this will show my js-rookie-ness but I'm stuck!

Basically, if you save the below code in a text file (with html extension) you should be good to go.

 <html>  <head>  <title>javascript tester</title>  <script>  var m = new Mgr();  var w = new Widget();    function Widget()  {      this.setLabel = function()      {          alert('this is the Widget method');      }  }    function Mgr()  {      this._oldWidgetMethod = null;            this.OverrideWidgetMethod = function()      {          this._oldWidgetMethod = w.setLabel;                var self = this;          w.setLabel = function()          {              self.setLabelOverride;          };      }        this.setLabelOverride = function()      {          this._oldWidgetMethod.apply(this, arguments);          alert('this is the Mgr method');      }  }    </script>  </head>  <body>  <input type=button value='Hijack Widget Method' onclick="m.OverrideWidgetMethod();">  <input type=button value='Invoke Widget Method' onclick="w.setLabel();">  </body>  </html> 

Steve Klett | Senior Developer
NetValue Technology

image-8cb77df5036e1-7e7f.png

Howdy, Stranger!

Log In

To view full details, sign in.

Register

Don't have an account? Click here to get started!

Leaderboard

Community Whiz

Quarter 2 (Apr-Jun 2026)

This Week's Leaders

This Month's Leaders

All Time Leaders