我正在关注一个在线教程并遇到一些javascript代码,我很难理解。在javascript中定义了一个名为Note()的函数。下面是在原型部分添加getter和setter的代码。我不明白为什么变量_id在它前面有下划线?下划线的目的是什么,何时使用?
Note.prototype = {
get id() {
if (!("_id" in this))
this._id = 0;
return this._id;
},
set id(x) {
this._id = x;
},
get text() {
return this.editField.innerHTML;
},
set text(x) {
this.editField.innerHTML = x;
}
答案 0 :(得分:1)
我缩小了问题,我转发了这个问题。
事实证明,' name'和' _name'是两个完全独立的变量。如果我们使用' name'在setter和getter中,它会导致函数的无限递归调用,这就是它无法正常工作的原因。
您可以在此处找到此问题的重新发布以及其他信息。