Mat*_*rym 7 javascript prototype function
以下解决了什么"丑陋"?有一些我没有得到的东西,我很感激帮助理解它是什么.
例如,通过扩充Function.prototype,我们可以为所有函数提供一个方法:
Function.prototype.method = function (name, func) {
this.prototype[name] = func;
return this;
};
Run Code Online (Sandbox Code Playgroud)
通过使用方法方法扩充Function.prototype,我们不再需要键入prototype属性的名称.现在可以隐藏一点丑陋.
CMS*_*CMS 15
嗯,丑陋是主观的,但让我们看看.
你经常写:
function Foo () {}
Foo.prototype.method1 = function () { /*...*/ };
Foo.prototype.method2 = function () { /*...*/ };
Run Code Online (Sandbox Code Playgroud)
您可以使用要继承到由new运算符创建的实例的属性向prototype对象扩展构造函数.
例如,var obj = new Foo();在创建Foo构造函数的实例时,该对象将继承绑定到Foo.prototype对象的所有属性以及原型链中更高的其他对象.
Crockford的方法也是这样,该方法在Function.prototype对象中定义,所有函数都从该对象继承,因此您可以像这样调用方法:
function Foo () {}
Foo.method('method1', function () { /*...*/ });
Foo.method('method2', function () { /*...*/ });
Run Code Online (Sandbox Code Playgroud)
它基本上只是隐藏了prototype代码中的单词,Crockford认为 丑陋 ......
"JavaScript The Good Parts"是一本非常好的书,但我认为这是基于Douglas Crockford对该语言的个人观点.
我同意他很多事情,但我也不同意某些方面......
| 归档时间: |
|
| 查看次数: |
823 次 |
| 最近记录: |