为什么clear函数不起作用。 我不确定我做错了什么? 任何帮助表示赞赏。 问候 优素福
function StringBuilder(initials) { var list = []; if (initials) { list.push(initials); } return { append: function (str) { if (!str) { str = ""; } list.push(str); return this; }, appendLine: function (str) { if (!str) { str = ""; } list.push(str + "\n"); return this; }, clear: function () { this.list = []; return this; }, toString: function () { return list.toString().replace(/,/g, " "); } }; }
答案 0 :(得分:2)
您的clear()
方法会重置this.list
,但list
不是对象属性;它是闭包中的一个变量。代码应该只是
clear: function () {
list = [];
return this;
},