$(未定义) 该怎么办?
我无意中在下面的语句中遇到了 $(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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
$(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(...)
.在你的情况下最合适的方法似乎是 DanC 所说的,但是你可以通过检查它的选择器来检查未定义的 jquery 对象:
在你的情况下:
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 :
In your case :