在JavaScript中找出对象类型?

时间:2013-04-29 14:03:24

标签: javascript jquery

我正在尝试调试一些JQuery ajaxSetUp行为。我设置了一个超时值,并希望在调试器中看到它的设置。要做到这一点,我需要知道在调试时要注意什么。要调查超时设置的位置,我在firefox控制台中执行以下操作:

var obj = jQuery.ajaxSetup({
    timeout: 120000
});
console.log("obj=" + obj.timeout)

我想找出什么类型的对象obj?我知道JavaScript是动态类型的,但如果我能找到它是什么对象,那么我知道在调试时要添加一个监视器。

5 个答案:

答案 0 :(得分:3)

obj的类型为object。参见:

typeof obj
// "object"

此外,构造函数是全局javascript Object。这里:

obj.constructor.name
// "Object"

答案 1 :(得分:2)

jQuery有一些utility methods,如.isArray().isFunction().isNumeric().isPlainObject(),返回true或false。逐个使用这些来确定对象是否属于特定类型。

答案 2 :(得分:1)

您可以使用the typeof operator

答案 3 :(得分:1)

jquery中有特殊功能

jQuery.type(obj)

答案 4 :(得分:0)

对于这个问题,这不是一个好方法。我查看了JQuery源代码,并在调用ajaxSetUp时看到它更新了jQuery.ajaxSettings对象。

所以,如果你这样做......

console.log(jQuery.ajaxSettings.timeout)

在调试控制台中,您将获得该值。

我在这里给出答案,以防任何人使用。