Questions tagged «getter-setter»

面向对象编程中的公共增变方法,负责更改和返回私有类成员的值,因此符合封装原理。




1
从getter返回的函数的`this`关键字的值
在以下示例中,我发现此关键字的值意外: let x = { z : 10 , get func1() { return function(v) { console.log(this === v); } } } x.func1(x) 运行代码段隐藏结果展开摘要 此关键字的值是对象x,就像它是从该对象执行的一样,我希望只有具有此关键字的get函数等于调用对象x 这个例子向我们展示了差异 let x = { func2() { return function(v) { console.log(this === v); } } } x.func2()(x); 运行代码段隐藏结果展开摘要 在两个示例中,都是从对象x执行的是getter函数func1和作为对象的方法的func2,然后执行返回的函数。那么,为什么在第一个示例中此值不等于全局对象而不是对象x。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.