首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JavaScript 原型hook实现

JavaScript中基于原型的继承机制是动态的

对象从其原型继承属性,如果创建对象之后原型的属性发生改变,也会影响到继承这个原型的所有实例对象。也就是说如果通过某种方法,修改了类的原型中的属性,那么所有通过该原型创建的实例对象的相应属性也会被改变。

nodejs的hook实现利用以上语言特性,将对象中需要hook的属性所对应的原型进行修改,实现hook之目的。

以下给出一个例子:

wrap函数的实现:

输出打印:

完整代码:

控制台将输出:

6

function start execute.

function finish execute.

6

可以用在线编辑器运行试试

https://tool.lu/coderunner/

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180725G1ZJNV00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券