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

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;
};
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

Comments

Your Answer

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.