例如,假设我们有一个模式对象,其中包含一些字符串。如果我们MODE.toString()
只处理对象中的 alpha、beta、gamma,则将返回[object Object]
无用的。
相反,假设我们想要得到一些不错的东西,比如Normal, Sepia, Psychedelic
. 为此,我们可以在toString: function(){...}
我们的对象中添加一个来做这件事。然而,一个问题是,如果我们遍历对象中的所有内容,它自身的函数也会被打印出来,所以我们需要检查一下。在示例中,我将具体检查,但是,可以使用toString
其他检查,例如... && typeof MODE[key] == "string"
以下是一些示例代码,调用MODE.toString();
将返回Normal, Sepia, Psychedelic
var MODE = {alpha:"Normal", beta:"Sepia", gamma:"Psychedelic",
toString: function() {
var r = "";
for (var key in MODE) {
if (MODE.hasOwnProperty(key) && key != "toString") {
r+= r !== "" ? ", ":"";
r+= MODE[key];
}
}
return r;
}
};