一、采用valueOf或toString
代码语言:javascript复制const a = {
n: 1,
// valueOf: function () {
// return this.n ;
// },
toString: function () {
return this.n ;
}
}
代码语言:javascript复制let a = [1, 2, 3, ];
a.toString = a.shift; // 从开头删除一个
二、采用definePropety的get方法
代码语言:javascript复制let n = 1;
Object.defineProperty(window, 'a', {
get() {
return n ;
}
})
三、采用Proxy代理
代码语言:javascript复制const a = new Proxy({}, {
n: 1,
get: function () {
return () => this.n ;
}
})