11

javascript窗口和jquery $(window)有什么区别?

我在 Chrome 控制台中尝试过,我得到了这个: 在此处输入图像描述

所以,我会得出结论是“只是”一个窗口对象包装在一个 jquery 对象中,然后我可以在它上面使用 jquery 的函数(如 height()、width() 等......)

我确实尝试过谷歌搜索和stackoverlowing :) OFC,但没有运气。

4

4 回答 4

11

当你写的时候$(window),你应该知道那段代码是要运行在 JS 引擎上的。你有没有想过为什么 jQuery 对象周围都有括号?这是因为$是一个函数对象。基本上,您正在调用该$函数,并将本全局或window对象作为参数传递给它。

如果您浏览 jQuery 源代码,您会看到它将该对象传递给许多内部函数,最后,它将返回一个 jQuery 包装器对象。
所以是的,你的假设是非常正确的。

于 2013-06-05T11:59:15.307 回答
0

window 是一个全局对象,与任何 3rd 方库无关。但是 $(window) 返回一个 jQuery 对象。你是对的,它只不过是一个包装器,但它带有所有可能的 jQuery 好东西。我们可以像普通的 jQuery 对象一样使用它,我们可以访问它的子对象,可以将数据与它关联等等等等。

于 2013-06-05T11:57:32.180 回答
0

你是真的

window,它是一个包含全局窗口对象的 jQuery 包装器。这里的目的是创建一个局部范围的窗口变量,它可以让我立即访问 jQuery 方法,如 width()、height()、scrollLeft() 和 scrollTop()。

于 2013-06-05T12:01:11.727 回答
0

window对象代表窗口本身。你可以在这里找到更多解释。根据您上面的描述,您似乎正在寻找访问document属性而不是window属性。您可以访问属性长度、高度等,如下所示:

  • document.height (纯 javascript) 或 $(document).height() (jQuery)
  • document.width (纯 javascript) 或 $(document).width() (jQuery)

有关更多document属性,请参见此处

于 2013-06-05T12:30:44.387 回答