Dem*_*ick 3 javascript string object
我有一个javascript函数,它接受一个参数,如:
function getSomething(cat,handler) {
varURI = 'text'+cat;
document.write('<p>'+varURI+'</p>');
}
Run Code Online (Sandbox Code Playgroud)
我在输出中看到的是:
text[object Object]
Run Code Online (Sandbox Code Playgroud)
如何获得Object的真实文本值?
您需要覆盖toString对象的方法 - 并为您的对象提供"文本值" - .
您正在获取"[object Object]"因为Object.prototype.toString正在执行继承的方法,例如:
var cat = {
name: 'Kitten',
toString: function () {
return this.name + ' meow';
}
};
Run Code Online (Sandbox Code Playgroud)
toString当您进行任何隐式的字符串转换时(例如,当您将字符串连接到它时),将执行此自己的方法,例如:
console.log(cat+' text'); // "Kitten meow text"
Run Code Online (Sandbox Code Playgroud)
注意:如果你的意思是"文本值"对象的"字符串表示"(例如列出属性/值对),你的函数将需要枚举所有属性(使用for-in语句),但通常大多数时候,这是为了调试目的,如果是这样,我建议你得到一个调试器(如Firebug),并使用该console.dir方法.