Hmm. Hayır, öyle düşünmüyorum. this
ayarlanamaz. Bunu değiştiremezsiniz, ancak buna özellik ekleyebilirsiniz. make calls that cause this
to be set yapabilirsiniz, ancak doğrudan ayarlayamazsınız.
Böyle bir şey yapabilirsiniz:
function AjaxRequest (parameters) {
this.xhr = null;
if (window.XMLHttpRequest) {
this.xhr = new XMLHttpRequest();
}
else if (typeof ActiveXOBject != 'undefined') {
this.xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
AjaxRequest.prototype.someMethod = function (url) {
this.xhr.open('Get', url, true);
this.req.onreadystatechange = function(event) {
...
};
this.xhr.send(...);
};
geri Stepping, senin tasarım çok net olmadığını düşünüyorum. Ne yapmaya çalışıyorsun? Bunu sormanın başka bir yolu için çekim modeliniz nedir? Hangi fiiller AjaxRequest
'dan açığa çıkmak istiyorsunuz? Hangi yöntemler?
jQuery'ye bakarsanız, "ajax isteği" bir nesne değildir, bir yöntemdir. $ajax()....
Sizin nedir?
Bu, xhr özelliğini nasıl kullandığınızı belirler.
Çok teşekkürler! Ajaxrequest'i bir nesneyi yapıp yapamayacağımı görmek için bunu deniyordum. Javascript için yeniyim ve her isteği bir nesne olarak ele almanın mantıklı olacağını düşündüm. Ama açıkça işlevlerle gitmeliyim. Çok teşekkürler! – Mansiemans
Aslında, JavaScript'in değerini 'apply() 've' call() 'kullanarak bu değerin ayarlanması için en azından bazı sınırlı özellikler var. Bakınız: http://odetocode.com/blogs/scott/archive/2007/07/05/function-apply-and-function-call-in-javascript.aspx – aroth
@aroth, Bu cevapta belirtilmiştir. – Cheeso