【前端面试题js】在不改变下面代码的情况下 修改ob j对象,修改私有属性

43 阅读1分钟

题目:

var o = (function(){
  var obj = {
    a:1,
    b:2
  }
  return {
    get:function(k){
      return obj[k]
    }
  }
})()

解析:

var o = (function(){
  var obj = {
    a:1,
    b:2
  }
  return {
    get:function(k){
      return obj[k]
    }
  }
})()
Object.defineProperty(Object.prototype,"this",{
  get:function(){
    return this
  }
})
const obj = o.get("this")
obj.a =3