Reputation: 1419
I am trying to implement the following in js:
function Stack() {
var top = null;
var count = 0;
//returns the total elements in an array
this.getCount = function() {
return count;
}
this.Push = function(data){
var node = {
data: data,
next: null
}
node.next = top;
top = node;
count++;
console.log("top: " + top,"count: " + count);
}
}
Stack.Push(5);
The call to Stack.Push is throwing an error, I think it is function scoping, right? How can I make the call to the push method?
Upvotes: 0
Views: 67
Reputation: 288100
You must create an instance of Stack
:
function Stack() {
var top = null;
var count = 0;
//returns the total elements in an array
this.getCount = function() {
return count;
}
this.Push = function(data){
var node = {
data: data,
next: null
}
node.next = top;
top = node;
count++;
console.log("top: " + top,"count: " + count);
}
}
var instance = new Stack();
console.log(instance.Push(5));
Upvotes: 0
Reputation: 22395
You need to create an object instance of the function
var stack = new Stack();
stack.push(5);
Upvotes: 1