JavaScript Object.prototype(按值)
我想做一些类似于JavaScript Object.prototype(按值),javascript,prototype,object,prototypejs,Javascript,Prototype,Object,Prototypejs,我想做一些类似于Object.prototype.dataTransfer=newdatatransfer()的事情,但我希望每个新对象都有自己的数据传输。我该怎么做 例如,如果我 var a = new Object(); var b = new Object(); Object.prototype.dataTransfer = new Object(); a.dataTransfer.prop = 1; b.dataTransfer.prop = 2; var a=新对象(); var b=
Object.prototype.dataTransfer=newdatatransfer()的事情代码>,但我希望每个新对象都有自己的数据传输
。我该怎么做
例如,如果我
var a = new Object();
var b = new Object();
Object.prototype.dataTransfer = new Object();
a.dataTransfer.prop = 1;
b.dataTransfer.prop = 2;
var a=新对象();
var b=新对象();
Object.prototype.dataTransfer=新对象();
a、 dataTransfer.prop=1;
b、 dataTransfer.prop=2;
我希望a.dataTransfer.prop仍然是1,而不是2
在上下文方面,我试图破解WebKit和IE,以便拖放事件的.dataTransfer对象能够正常工作。通常您会将其添加到构造函数中,但由于您想要扩展主机对象(HtmlDomeElement),因此您不可能真正想要它。但是,如果您将问题的定义扩展到像这样的具体实现细节之外,可能还有另一种方法,
例如,一个库具有不同的(可能的)面向用户的API,该API根据其所在的浏览器的不同而工作,成功地抽象了浏览器并提供了统一的API。通常您会将其添加到构造函数中,但由于您想扩展一个宿主对象(HTMLDOMELENT),因此您想要的实际上是不可能的。但是,如果您将问题的定义扩展到像这样的具体实现细节之外,可能还有另一种方法,
例如,库具有不同的(可能的)面向用户的API,该API根据其所在的浏览器的不同而工作不同,成功地抽象了浏览器并提供了统一的API。在旁注中,如果您使用某人(另一个人)的API,则决不应扩展对象。原型无法处理的蹩脚代码:请注意,如果您使用的是某个人(另一个人)无法处理的蹩脚代码,则永远不要扩展Object.prototype