是否有任何方法或方法可以检查JavaScript对象中的内容。像PHP中的print_r
这样的东西?
干杯
答案 0 :(得分:10)
使用适用于Firefox的Firebug或适用于Google Chrome / Safari的开发人员工具来检查您的对象。在我看来,这是最好的方式。
答案 1 :(得分:3)
Javascript对象实际上是键/值对的映射。您可以通过点表示法(例如myObject.someProp
)或甚至通过索引表示法(myObject["someProp"]
)访问成员。使用后者可能会对你有所帮助:
function print(obj) {
for (var i in obj)
console.log(i + " - " + obj[i]);
}
}
通过Firebug运行它,看看你得到了什么:)
答案 2 :(得分:3)
如果您使用Mozilla Firefox,则可以使用Firebug。要查看您的变量或对象是什么,请执行以下代码(例如,我使用JSON变量)
var yourObject = {test: 'this is just a test'};
console.log(yourObject);
安装Firebug后,运行包含此javascript的html文件,然后在Firebug中选择“控制台”选项卡。你会在那里看到结果。希望这对你有所帮助。 :)
答案 3 :(得分:2)
使用此自定义功能或JSON.stringify(obj);
/**
* Gets the string representation of the specified object. This method is
* used for debugging
* @param {Object} Object to convert to string
* @return {String} The string representation of the object
*/
var toObjectSource = function(obj) {
if(obj === null) {
return "[null]";
}
if(obj === undefined) {
return "[undefined]";
}
var str = "[";
var member = null;
for(var each in obj) {
try {
member = obj[each];
str += each + "=" + member + ", ";
}catch(err) {
alert(err);
}
}
return str + "]";
}
答案 4 :(得分:1)
考虑以下对象:
var x = {
property1: 'value1',
property2: 'value2',
property3: 'value3',
method1: function () {
return 0;
},
method2: function () {
return 0;
}
};
然后做:
for (var prop in x) {
console.log(prop);
}
输出:
property1
property2
property3
method1
method2
您可能希望使用hasOwnProperty()
方法来确保不从对象的原型链中获取属性:
for (var prop in x) {
if (x.hasOwnProperty(prop)) {
console.log(prop);
}
}
答案 5 :(得分:1)
对我来说最好的伎俩:
console.dir(yourobject);
在Chrome开发工具中查看它。你可以传入任何物体,以找出它内部的膨胀。非常有帮助
答案 6 :(得分:0)
安装FireBug。它是Mozilla Firefox的插件。
在源文件中,写下:console.log(yourObjectGoesHere);
并转到FireBug中的“控制台”选项卡... Killer对象发现,以易于掌握的树格式呈现。