$(未定义) 该怎么办?

发布于 2024-11-23 18:53:09 字数 575 浏览 1 评论 0原文

我无意中在下面的语句中遇到了 $(undefined) ,其中 params 是一个对象:

var $this = $(params._this) || $(this);

这不起作用,因为 $(params._this) 是一个 jQuery 对象,并且始终评估为 true

有趣的是,我不知道如何检查它。它不是一个空对象(即 $.isEmptyObject($(undefined)) == false),也不是一个函数或“普通对象”(即 $.isPlainObject() )。

我最终将语句修改为以下内容:

var $this = (params._this == undefined) ? $(params._this) : $(this);

我的问题是,有没有办法“评估”(不确定使用什么词)$(undefined)?这有什么用吗?

I accidentally came across $(undefined) in a statement below, where params is an object:

var $this = $(params._this) || $(this);

This did not work, as $(params._this) is a jQuery object and is always evaluated to true.

Funny enough, I was not sure how to check for it. It is not an empty object (i.e. $.isEmptyObject($(undefined)) == false), nor is it a function or a "plain object" (i.e. $.isPlainObject()).

I ended up modifying the statement to the following:

var $this = (params._this == undefined) ? $(params._this) : $(this);

My question is, is there any way to "evaluate" (not sure what word to use) $(undefined)? Is there any use for this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

陪我终i 2024-11-30 18:53:09
var $this = $(params._this || this);
var $this = $(params._this || this);
相守太难 2024-11-30 18:53:09

$(undefined) 只是一个空的 jQuery 对象;它相当于$()。有时它会用来代替常见习语 $(document).ready(...) 中的 $(document)

$(undefined) is just an empty jQuery object; it's equivalent to $(). Sometimes it's used instead of $(document) in the common idiom $(document).ready(...).

你不是我要的菜∠ 2024-11-30 18:53:09

在你的情况下最合适的方法似乎是 DanC 所说的,但是你可以通过检查它的选择器来检查未定义的 jquery 对象:

$(undefined).selector == ''

在你的情况下:

var $this = $(params._this).selector != '' ? $(params._this) : $(this);

The most suitable way in your case seems to be what DanC said, but you can check for an undefined jquery object by checking it's selector :

$(undefined).selector == ''

In your case :

var $this = $(params._this).selector != '' ? $(params._this) : $(this);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文