Javascript函数参数为String

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的真实文本值?

CMS*_*CMS 7

您需要覆盖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方法.