【发布时间】:2017-01-19 13:26:01
【问题描述】:
所以,基本上我有这个:
Array.prototype.toString = function() {
return ("[" + this.map(thing => thing = '"' + thing + '"').join(', ') + "]")
}
当我调用它时:
['foo', 'bar'].toString()
返回
"["foo", "bar"]"
现在,这将完美运行。这个(带大括号)似乎不像我想要的那样工作:
Array.prototype.toString = function() {
return ("[" + this.map(thing => {thing = '"' + thing + '"'}).join(', ') + "]")
}
它返回:
[, ]
那么有人可以告诉我区别吗?我不知道为什么 [].map 会这样工作。
【问题讨论】:
-
如果您不相信我,请尝试在 Chrome 浏览器控制台中进行操作。
-
使用花括号时,必须使用
return,否则结果将是未定义的。 -
为什么要在第二个里面赋值?
标签: javascript