[javascript] Class vs. static method in JavaScript

In your case, if you want to Foo.talk():

function Foo() {};
// But use Foo.talk would be inefficient
Foo.talk = function () {
    alert('hello~\n');
};

Foo.talk(); // 'hello~\n'

But it's an inefficient way to implement, using prototype is better.


Another way, My way is defined as static class:

var Foo = new function() {
  this.talk = function () {
    alert('hello~\n');
    };
};

Foo.talk(); // 'hello~\n'

Above static class doesn't need to use prototype because it will be only constructed once as static usage.

https://github.com/yidas/js-design-patterns/tree/master/class