如何在javascript中区分jquery对象和dict之间的区别

时间:2011-01-19 18:15:15

标签: javascript jquery types

>>> var jq = $('body');
>>> var di = {hello: 'world'};

>>> typeof jq == typeof di;
true

这不是真的:(。一个dict对象和一个jquery对象不是同一类型。使用javascript可以做到这一点吗?

3 个答案:

答案 0 :(得分:3)

两个变量的类型都是Object。我想你要去instanceof

jq instanceof jQuery // -> true
di instanceof jQuery // -> false

答案 1 :(得分:3)

使用jQuery.isPlainObject

jQuery.isPlainObject(di) === true
jQuery.isPlainObject(jq) === false

答案 2 :(得分:3)

为什么你需要分辨出来?我发现从另一个方向考虑这个问题更好:在你有一个未知来源的直接环境中,有哪些不同的可能性?换句话说,它真的可以任何,还是只需要知道要调用哪种方法?

这是个人喜好的问题,但一般来说我发现更容易进行鸭子打字检查,只是检查一下神秘物体上是否存在一些“信号”属性。