为了账号安全,请及时绑定邮箱和手机立即绑定

在函数中使用 this 关键字设置属性

在函数中使用 this 关键字设置属性

开满天机 2023-10-24 17:39:36
我正在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函数不一定需要返回任何内容,它还可以通过thismakerjs.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)


查看完整回答
反对 回复 2023-10-24
  • 1 回答
  • 0 关注
  • 82 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信