好的,首先,我不会寻求将Object
转换为String
的方法。
但是我遇到了这样的问题:
String.prototype.foo = function() {
return this;
};
var rawString = "abcde";
var fooString = "abcde".foo();
console.log(typeof(rawString) + ': ', rawString);
console.log(typeof(fooString) + ': ', fooString);
或jsfiddle您更喜欢。
另外,附上了截图:
正如您所看到的,我在原型方法foo
中几乎没有做任何事情,我只是return this
。
但typeof
的结果完全不同
这是为什么?我怎样才能返回abcde
而不是{0: "a"...}
?
谢谢!
答案 0 :(得分:5)
this
引用了String Object
,因此您需要像
return this.toString();
反过来创建原始字符串版本并返回它。