Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么jQuery将ajax请求对象绑定到窗口?_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 为什么jQuery将ajax请求对象绑定到窗口?

Javascript 为什么jQuery将ajax请求对象绑定到窗口?,javascript,jquery,ajax,Javascript,Jquery,Ajax,为什么JQuery()将Ajax请求对象绑定到这样的窗口 return new window.XMLHttpRequest(); 我在问b.c.在我的资料里我没有这样做 我就是喜欢 return new XMLHttpRequest(); 因为XMLHttpRequest对象是window对象的子对象 您可以将其作为一个单独的对象引用,因为window是浏览器中的父范围;i、 e.全球范围。如果引用不在本地范围(闭包)中,JavaScript将继续沿着范围链向上移动,直到找到引用为止

为什么JQuery()将Ajax请求对象绑定到这样的窗口

    return new window.XMLHttpRequest();
我在问b.c.在我的资料里我没有这样做

我就是喜欢

return new XMLHttpRequest();

因为
XMLHttpRequest
对象是
window
对象的子对象


您可以将其作为一个单独的对象引用,因为
window
是浏览器中的父范围;i、 e.全球范围。如果引用不在本地范围(闭包)中,JavaScript将继续沿着范围链向上移动,直到找到引用为止。使用
window.XMLHttpObject
可以告诉浏览器在哪里可以找到它,从而防止所有的查找

因为这通常是xmlhttprequest方法的所在。它只是被做成一个全局对象,用于
新XML…
向后兼容。就像定义xmlhttprequest时一样,它是作为窗口对象的子对象来完成的。是的,但是如果嵌套的范围有17个(在jquery中发生)由于浏览器必须询问每个封闭的父作用域是否在该作用域中定义了引用,因此查找在时间上变得非常昂贵。请看下面我的答案。window被传递给jQuery。因此他们也在利用这种优化。总结一下:第二行状态:“显式优于隐式”。@Guymantag我正在使用主干(所以我们在中添加了这一点),但我在调用堆栈中有10个级别,在一个成功的
.fetch
上运行的函数中。前五个是jQuery本身。“然后脊梁骨的东西开始起作用了。”古伊蒙塔格说,“是的,17岁是虚构出来的,但没有那么夸张。想象一下,每次都要支付沿着范围链走的成本?作用域是您最好的JavaScript朋友。