对象创建源解释
Object.create source explanation?
我正在查看MSDN网络,谁能解释一下source-code
?
Object.create = (function() {
var Temp = function() {};
return function (prototype) {
if (arguments.length > 1) {
throw Error('Second argument not supported');
}
if (typeof prototype != 'object') {
throw TypeError('Argument must be an object');
}
Temp.prototype = prototype;
var result = new Temp();
Temp.prototype = null;
return result;
};
})();
function Guru(name){
this.name = name;
}
function Shankar(name){
this.name = name;
}
Guru.prototype = Object.create(Shankar.prototype);
这里让我感到困惑的是Temp.prototype = null;
,为什么我们将其设置为 null
并returning a instance of Temp
我们可以返回new Temp
Temp.prototype = prototype;
return new Temp;
可能只是为了不缓存最后一个对象并在原始对象被删除时将其保留在内存中。在绝大多数情况下似乎没有必要,但对于谨慎来说并不是一个坏主意。
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 为effect Composer创建GodRays效果过程
- 从javascript创建一个列表
- onkeyup无法动态创建多个文本区域
- 如何使用javascript从主svg对象动态创建svg视图框
- 如何访问声音管理器2创建的声音对象
- 我已经创建了一个jquery转盘,并使用if条件来运行和停止转盘
- Kendo:我该如何在树视图中创建一个递归的hieiarchy
- 使用Facebook live API创建实时视频对象时的隐私设置
- 在动态创建的元素上获取对特定选择器的引用
- 对象.创建解释
- 解释主干对象和类创建模式
- 对象创建源解释
- 使用jQuery为单选按钮窗体创建解释框
- 关于如何使用Mongoose创建关系的简单解释
- Regex -创建一个正确解释数字的输入/文本区域
- 尝试创建一个能够解释空格的回文函数
- 这种行为的解释是什么?(什么时候创建函数?)
- 有人能给我解释一下这个用JS/jQuery创建网格的功能吗
- 从另外两个元素创建一个jquery元素(代码解释请求)