这个问题与我们所知的 JavaScript 的 ECMAScript 语言实现有关,也与 jQuery 和大多数流行浏览器中可用的开发人员工具有关。
当你执行这样的语句时:
var theElement = $('#theId').closest();
是什么类型的theElement
?
我假设在像上面这样的 jQuery 情况下,许多 jQuery 方法(包括上面的方法)实际上返回了 jQuery 对象本身,它封装了你真正想要得到的东西。这样,它就可以维护一个流畅的 API 并让您在单个语句中加入方法调用,如下所示:
$('#selector').foo().bar().gar().har();
然而,在 jQuery 的情况下,你如何确定真正的底层类型是什么?例如,如果返回的元素是 Id 为 tableRowNumber25 的表格行,那么您如何使用 FireBug 来实现这一点。
当我在 Firebug 的监视窗口或大多数流行浏览器中的任何开发人员工具中查看 jQuery 返回的对象或简单的 JavaScript 对象时,我会看到一长串属性/键,我不知道该选择哪一个看着。在 jQuery 对象中,大多数属性都是 lamdas。
所以,真的,我的问题是——你怎么知道底层类型,你怎么知道实际返回的是什么?