写法1
/** * 对象方法,自执行函数,闭包 */ const buildTask = (() => { var queue1 = []; return { push(item1) { queue1.push(item1); console.log(queue1); } } })(); const res1 = buildTask.push(1); console.log(res1);
写法2
/** * 自执行函数,闭包 */ const buildTask2 = (() => { var queue2 = []; return (item2) => { queue2.push(item2); console.log(queue2); } })(); const res2 = buildTask2(1); console.log(res2);
写法3
** * 类,构造函数 */ class TestTask { constructor() { this.queue3 = []; } buildTask3(item3) { return () => { this.queue3.push(item3); console.log(this.queue3); } } } const res3 = new TestTask; console.log(res3.buildTask3(1)());