今天遇到一个面试题,没想出来怎么解决

var a1 = new A();
console.log(a1.val); //1
var a2 = new A();
console.log(a2.val);//2

我当时想的是用闭包,但是没写出来,有人可以帮忙解答一下吗?

阅读 1.4k
2 个回答

这个嘛~实现的方式还挺多的,我第一想到的就是拿一个公共变量存储数量就好了。

function A(){
    this.val=A.prototype.val++
}
A.prototype.val=1
let a1=new A()
let a2=new A()
console.log(a1.val, a2.val)
class A{
    constructor(){
        this.val=A.val++
    }    
}
A.val=1
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题