这里讲一个简单的例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| function foo(){ var person = { "name": "joe", "age": 18 } return function getValue(name){ return person[name]; } }; var bar = foo(); bar('name'); //=> 'joe' Object.defineProperty(Object.prototype, 'self', { get: function() { return this; } }); bar('self'); //=> {name": "joe", "age": 18}
|
至于这么不让他通过扩展原型链获取数据,重写__proto__
即可