javascript 中的自动化—元编程(下)

今天继续给大家分享 js 中的元编程,内容主要是通过几个例子,来演示一下元编程在实际用中的使用,这里可以用元编程来输出日志,日志内容可以用于观察程序的运行状况。也可以用元编程来实现观察者模式,用元编程来实现观察者模式,非常简单。

1. 访问日志,使用 proxy 我们复写其 get 方法(get 方法对应于 (.)点操作符,获取属性操作符)。然后用 Reflect 的 get 方法返回属性值,在此方法里,通过 Reflect 调用 get 方法前,可以做一些小动作来修改 get 行为。之前我理解不是那么透彻,现在理解上较之前有所提升,所以再此解释一下,Proxy 代理是代理一个创建好的对象。代理模式简单地说就是在原有对象上又包裹一层,以便我们对对象的方法和属性进行控制。通过代理我们拿到对象 get 方法,然后在其中写我们的业务,最后再用反射(Reflect)来调用对象原有的业务,这样我们就实现了元编程。

反射和代理

这里我们用一个代理对象来代理 person 对象,然后用代理来

2.现在当下流行 MVVM 前端设计模式,一个显著的特征就是数据绑定,绑定原理就是我们通过观察那些需要我们感兴趣的变量,一旦这些变量的值发生变化,就要接受到值发生变化的通知。然后进行一些相关的动作。使用 proxy 来实现以一下观察者模式。其实很简单,只需要复写一下 set 和 delete 方法,这样一旦删除或修改对象属性时,就会进行相应操作。

set 和 delete 方法

这里同样用到代理模式,和

打印效果

3. 我们在用元编程实现一下当下流行 SDL(领域特定语言),以后会给大家介绍 groovy 中是如何实现 SDL。

今天分享的内容是 js 元编程,希望大家从中获益或找到一些灵感。当然也希望大家多多指正。最后还要感谢大家对我支持!我也会努力给大家带来更好更新的知识分享

你可能感兴趣的:(javascript 中的自动化—元编程(下))