外挂式插件编程思路【基础篇】(2)
* 本网页 讲解外挂插法,外插(内部的东西插到外部使用)。
* 内部的代码几乎不变的情况下, 通过插入外部的个别方法,达到控制内部的目的
* 特征,主要代码是写外部逻辑。内部尽可能的不动、少动
【demo.html】
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>外挂式插件编程思路</title>
<script type="module">
/**
* 本网页 讲解外挂插法,外插(内部的东西插到外部使用)。
* 内部的代码几乎不变的情况下, 通过插入外部的个别方法,达到控制内部的目的
* 特征,主要代码是写外部逻辑。内部尽可能的不动、少动
*/
window.plugin01=function(speak){
if(speak.num==3)
{
//
console.warn('speak.num==3处理外挂拦截逻辑');
speak.num=0;
}
}
import speak from './speak.js';
window.speak=speak;
</script>
</head>
<body>
<button onclick="test()">测试</button>
<script>
function test()
{
console.log(speak);
speak.start();
}
</script>
</body>
</html>【speak.js】
var speak={
num:0,
start:function(){
this.num=this.num+1;
console.log(`正在讲第${this.num}句话`);
window.plugin01(this);//借助全局对象,插入外挂
}
}
export default speak;一般别人的一些库文件不方便直接修改,但是又想调整功能。这个时候可以自己把代码写在外面,别人的库文件一句话调用,把外面的对象传递过来,从而实现目的。






