正在设置内部原型
Setting internal prototype
有没有任何可能的方法可以在不使用__proto__
属性的情况下更改实例的原型?
我想出了这个:
x=new String();
y=new Array();
Object.setPrototypeOf(x,y.__proto__)
但这仍然使用CCD_ 2。
可能类似于:
function object(o) {
function F() {}
F.prototype = o;
return new F();
}
x = object(y);
摘自Stoyan Stefanov 的JavaScript模式
一旦有了对象,如果不使用__proto__
属性,就无法更改其[[Prototype]]链接。
从实用性的角度来看,你的例子没有意义。如果您想在另一个方法上使用String
或Array
的方法,只需调用它们并设置它们的ThisBinding,或者根据需要分配它们。
但是,可以创建新对象,它们的[[Prototype]]链接指向另一个对象。
var obj = Object.create(String.prototype);
这当然不会修改原始对象。
相关文章:
- 需要原型内部或外部的功能
- 如何从内部销毁jQuery UI小部件's原型
- Javascript-从函数内部设置原型
- 为什么我不能重新定义函数'它的原型来自内部
- 原型内部的Javascript对象
- 在OPP JS中,您可以从构造函数访问原型函数内部声明的方法
- 从原型方法中的内部函数修改实例变量
- 需要在构造函数内部声明一个方法而不是将其声明为原型方法的情况示例
- 在一个示例场景中,您会'需要'原型函数与内部函数
- 在使用原型属性的函数内部调用函数
- JavaScript可以't调用另一个内部的原型函数
- 调用函数内部的原型方法不起作用
- 将方法分配给函数内部或外部原型之间的差异
- 什么's在对象内部创建原型方法的缺点
- 从具有原型的对象内部对该对象调用函数
- JavaScript继承(将原型设置为内部)失败
- 我应该在原型中添加内部属性吗?
- Javascript:访问这个内部原型
- “this"原型内部是未定义的
- 原型内部未定义