0

I'm declaring an object "Members" in my app global variable:

var MyShulApp = MyShulApp || {}; 
MyShulApp.Members = (function () {
 function Members() {
 }
 Members.prototype.getMembersList = function () {
 var list = [{ name: "john", age: 90 }, { name: "kaly", age: 90 }, { name: "steve", age: 90}];
 return list;
 }
 return Members;
})

I want to be able to call getMembersList(), so i do this:

var lst = oMembers.getMembersList();

but it's not working and I get undefined.

This works:

var membersList = oMembers.prototype.getMembersList();

What am I doing wrong?

EDIT(picture added): enter image description here

asked Mar 3, 2014 at 19:41
5
  • 1
    How is oMembers defined? Commented Mar 3, 2014 at 19:45
  • 1
    you need call your anonymouse function Commented Mar 3, 2014 at 19:46
  • @Grundy: post that as the answer! Commented Mar 3, 2014 at 19:47
  • @maerics Oriol already post it :-) i'm so sloooow :-) Commented Mar 3, 2014 at 19:50
  • i added a picture showing the debugger. Commented Mar 3, 2014 at 19:50

2 Answers 2

1

I don't know what is oMembers.

But my guess is that you wanted to use a self-executing function:

var MyShulApp = MyShulApp || {}; 
MyShulApp.Members = (function () {
 function Members() {}
 Members.prototype.getMembersList = function () {
 var list = [{ name: "john", age: 90 }, { name: "kaly", age: 90 }, { name: "steve", age: 90}];
 return list;
 }
 return Members;
})();

Note I added the () at the end, to execute the function.

But you don't need that, you could just use

var MyShulApp = MyShulApp || {}; 
MyShulApp.Members = function Members() {};
MyShulApp.Members.prototype.getMembersList = function () {
 var list = [{ name: "john", age: 90 }, { name: "kaly", age: 90 }, { name: "steve", age: 90}];
 return list;
};
answered Mar 3, 2014 at 19:48
Sign up to request clarification or add additional context in comments.

Comments

1

You must first create an instance of that object:

function Members() {
}
Members.prototype.getMembersList = function () {
 var list = [{ name: "john", age: 90 }, { name: "kaly", age: 90 }, { name: "steve", age: 90}];
 return list;
}
var oMembers = new Members('Male');

To read more about this head to: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript

answered Mar 3, 2014 at 19:52

Comments

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.