您如何向知道其所包含概念的人(例如函数,变量等)解释JavaScript闭包,但不了解闭包本身?
我已经看过维基百科上给出的Scheme示例,但遗憾的是它并没有帮助.
我在这里阅读(Douglas Crockford)使用原型运算符向Javascript类添加方法也保存了内存.
然后我读到了John Resig的文章 "用一堆原型属性实例化一个函数是非常非常快的 ",但他是在谈论以标准方式使用原型,还是他在他的文章中谈论他的具体例子?
例如,正在创建此对象:
function Class1()
{
this.showMsg = function(string) { alert(string); }
}
var c = new Class1();
c.showMsg();
Run Code Online (Sandbox Code Playgroud)
比创建这个对象慢吗?
function Class1() {}
Class1.prototype.showMsg = function(string) { alert(string); }
var c = new Class1();
c.showMsg();
Run Code Online (Sandbox Code Playgroud)
PS
我知道原型用于创建继承和单例对象等.但是这个问题与这些主题没有任何关系.
编辑:对于JS对象和JS静态对象之间的性能比较它可能感兴趣的人可以阅读下面的答案.静态对象肯定更快,显然只有在不需要多个对象实例时才能使用它们.