好吧,丑陋是主观的,但让我们来看看。
你平时写:
function Foo() {}
Foo.prototype.method1 = function() { /*...*/ };
Foo.prototype.method2 = function() { /*...*/ };
您与您要继承由新的运营商创建的实例属性扩展prototype
对象constructor function。
例如你正在创建的Foo
构造的一个实例var obj = new Foo();
,该对象将继承所有绑定到Foo.prototype
目标和其他目标的prototype chain更高的性能。
的Crockford的方法不一样,该方法在Function.prototype
对象定义,所有的功能从该对象继承,所以你可以这样调用方法:
function Foo() {}
Foo.method('method1', function() { /*...*/ });
Foo.method('method2', function() { /*...*/ });
它基本上只是皮的从代码,克罗克福德认为丑陋prototype
字...
“的JavaScript好的部分”确实是一个很好的书,但我认为是基于个人的角度出发,道格拉斯Crockfor d有语言。阅读代码时
我同意他的观点与很多东西,但我也有一些方面不同意...
来源
2010-06-01 06:43:19
CMS
用的是“原型”,似乎更加明确和明显。感谢您的答案:) – Matrym 2010-06-01 08:34:10
我同意。在这种情况下,克罗克福德正在咆哮着错误的树木。 – bobince 2010-06-03 08:25:49