RangeError:Node.js超出最大调用堆栈大小
我在JS中创建了模型脚本,所以我可以传入一个对象并添加一些逻辑和值。 我使用get / set来生成值,但是当我运行我的代码时,它会引发RangeError:超出最大调用堆栈大小。 有谁知道谁来解决这个错误?
var model = {
get id() {
return this.id ;
},
set id(id) {
this.id = id || '';
},
get filename(){
return this.filename ;
},
set filename(name){
this.filename = name || '';
},
get savename(){
return this.savename ;
},
set savename(name){
this.savename = name || '';
},
get filetype(){
return this.filetype ;
},
set filetype(name){
this.filetype = name || '';
}
};
module.exports = function(parm){
model.id = parm.id ;
model.filename = parm.filename ;
model.savename = parm.savename ;
modle.filetype = parm.filetype;
return model ;
};
get id() {
return this.id ;
},
您已经为名为“id”的属性定义了一个getter。 你的getter实现说它应该从对象中返回属性“id”的值。
为了获得属性“id”的值,系统首先检查是否有该属性的getter。 在这种情况下,就是所谓的吸气剂。
二传手同样如此。
你必须将实际的属性值保存在其他地方而不是作为对象属性的值,否则你会遇到你正在遇到的问题。
get id() {
return this._id;
},
set id(value) {
this._id = value || "";
},
你不必这样做, 这只是一种有效的方式。
链接地址: http://www.djcxy.com/p/80239.html上一篇: RangeError: Maximum call stack size exceeded for Node.js
下一篇: Getting "Maximum call stack size exceeded error" using protractor