SOURCE

console 命令行工具 X clear

                    
>
console
"use strict"
const target = {
    msg: "hello"
};

const handler = {
    get: function(target, prop, receiver){
        console.log('in handler.get', target, prop)
        // receiver不要在console.log中使用,否则jsrun的控制台回报错
        // Uncaught TypeError: Cannot convert a Symbol value to a string
        return 'get: ' + target[prop]
    },
    set: function(target, prop, value, receiver){
        console.log('in handler.set', target, prop, value)
        target[prop] = value
        return true
    }
};

const proxy = new Proxy(target, handler);
target.msg = 'chua1989' // 没有任何打印
console.log(target.msg) // chua1989
proxy.msg = 'yang' // 
console.log(proxy.msg)
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
    Proxy:代理实例是对象的一个包装,改变原始对象,不会进入代理实例的handler
</body>
</html>

本项目引用的自定义外部资源