我正在makerjs练习javascript. 当我使用时,我遇到了关键字问题this。//render a model created by a function, using the 'this' keywordvar makerjs = require('makerjs');function myModel() { var line = { type: 'line', origin: [0, 0], end: [50, 50] }; var circle = { type: 'circle', origin: [0, 0], radius: 50 }; var pathObject = { myLine: line, myCircle: circle };//set properties using the "this" keyword ***here I dont' understand this.paths = pathObject;}//note we are using the "new" operatorvar svg = makerjs.exporter.toSVG(new myModel());document.write(svg);我不明白这段代码是如何工作的。使用此关键字保存后,如下所示, this.paths = pathObject;如果不返回任何东西,这怎么行?
1 回答
PIPIONE
TA贡献1829条经验 获得超9个赞
您的myModel
函数不一定需要返回任何内容,它还可以通过this
. makerjs.exporter.toSVG
正在寻找您在下面一行中公开的实例的paths
属性。new myModel()
this.paths = pathObject;
在上面的行中,您正在paths
当前实例上创建一个属性,其中当前实例是通过 访问的this
。正如您在下面的代码片段中看到的,我可以paths
使用m.paths
.
function myModel() {
var line = {
type: 'line',
origin: [0, 0],
end: [50, 50]
};
var circle = {
type: 'circle',
origin: [0, 0],
radius: 50
};
var pathObject = { myLine: line, myCircle: circle };
//set properties using the "this" keyword ***here I dont' understand
this.paths = pathObject;
}
let m = new myModel();
console.log(m.paths)
- 1 回答
- 0 关注
- 82 浏览
添加回答
举报
0/150
提交
取消