源码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>何为数据代理?</title>
    </head>
    <body>
        <!-- 数据代理的定义:通过 obj2.x 来间接操作(读取/修改) obj.x 的值)-->
        <script type="text/javascript" >
            //先定义两个对象:
            let obj = {x:100}
            let obj2 = {y:200}

            //最简单的数据代理举例:
            //为 obj2对象新增 属性x :
            Object.defineProperty(obj2,'x',{

                get(){
                    //返回 obj对象的属性x
                    return obj.x
                },

                set(value){
                    //设置 obj对象的属性x
                    obj.x = value
                }
            })
        </script>
    </body>
</html>