关于闭包与面向对象的问题

封装了一个方法,用了两种方式,效果是有了,就是不知道对不对,能不能这样写,本人新手,还很迷糊,还想问一下,这两种可否在项目大量使用,利弊是什么


//方式一

export function getData(resId,project){

   this.paramObj = {

      resId:resId,

      requestData: {

        project: project,

      }

    };

}


//调用

 let Person=new way.getData(this.resId, this.$store.state.project)

 ll.initialize(Person.paramObj,this);


//方式二

export function format(resId,project){


  return function (){

    let paramObj = {

      resId: resId,

      requestData: {

        project: project

      }

    };


    return paramObj

  }

}


//调用

  let newDel=way.format(this.resId, this.$store.state.project)

  ll.initialize(newDel(),this);


开心每一天1111
浏览 468回答 2
2回答

有只小跳蛙

楼主更像是在封装参数ES6的话可以这么写class Params{    constructor(resId,project){        this.resId = resId;        this.project = {            project: project        };    }}let resId = 2;let project = '12345678'let param = new Params(resId,project);console.log(param.resId,param.project);console.log(param);ES5的话可以这么写function Project(project){    this.project = project;}function Params(resId,project){    this.resId = resId;    this.project = new Project(project);}var resId = 2;var project = '12345678'var param = new Params(resId,project);console.log(param.resId,param.project);console.log(param);

12345678_0001

明明一句话就可以搞定,还非要搞个函数,又是new 又是return function;这么折腾干嘛
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript