源码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>何为数据代理?</title>
    </head>
    <body>
        <!-- 数据代理的定义:通过一个对象代理(E.g Obj.x)对另一个对象中属性(E.g Obj2.y)的操作(读/写)-->
        <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>