Javascript 向XMLHttpRequest添加自定义属性

Javascript 向XMLHttpRequest添加自定义属性,javascript,xmlhttprequest,Javascript,Xmlhttprequest,我正在向XMLHttpRequest添加一个自定义属性,如下所示: function respond() { if (this.readyState === 4) { alert(this.testParam); } } var req = new XMLHttpRequest; req.onreadystatechange = respond; req.testParam = "yes"; req.open('get', '/', true); req.sen

我正在向XMLHttpRequest添加一个自定义属性,如下所示:

function respond() {
    if (this.readyState === 4) {
        alert(this.testParam);
    }
}

var req = new XMLHttpRequest;
req.onreadystatechange = respond;
req.testParam = "yes";
req.open('get', '/', true);
req.send();
这在Google Chrome中是可行的,但它被认为是好的实践吗?我认为XMLHttpRequest是本机对象,我听说可能会发生不好的事情


我提出了一个建议:

应该可以,只要您不需要
XMLHttpRequest
已经在使用的属性。而且,扩展宿主对象的关注点通常是试图修改它们的
原型
。宿主对象通常通过接口而不是具体类型定义,引擎之间的继承可能不一致。据我所知,XMLHttpRequest是一个主机对象,而不是本机Javascript对象(即,它类似于DOM,而不是类似于对象)。但是,您关于修改对象与原型的观点是很好的。我个人在直接向DOM元素添加任意属性方面没有遇到过问题。是的,
XMLHttpRequest
实例是主机对象。即为特定环境定义的对象、类型等。在这种情况下。“土生土长的”就是那些。