外挂式插件编程思路【基础篇】(3)

野生程序猿-杂烧3年前案例分享708

* 本网页 讲解外挂插法,内插(外部的东西往内部插)。

* window.plugin01,window.plugin02模拟2个外部用户,内部的逻辑方法会随着外部更改而更改

* 特征,主要代码是写内部逻辑

* 外挂插进来的东西,直接在内部参与了逻辑交互。

【demo.html】

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>外挂式插件编程思路</title>
		<script type="module">
			/**
			* 本网页 讲解外挂插法,内插(外部的东西往内部插)。
			* window.plugin01,window.plugin02模拟2个外部用户,内部的逻辑方法会随着外部更改而更改
			* 特征,主要代码是写内部逻辑
			* 外挂插进来的东西,直接在内部参与了逻辑交互。
			*/
			//模拟2个用户
			window.plugin01={
				content:'我是野生程序猿',
				start_back:function(){
					console.log('plugin01讲完了');
				}
			}
			
			window.plugin02={
				content:'我是全栈程序猿',
				start_back:function(){
					console.log('plugin02讲完了');
				}
			}
			
			import speak from './speak.js';
			//将2个用户信息,强行挂载到功能类上(功能类里面可以用配置,回调方法等)。
			window.speak1=new speak(window.plugin01);
			window.speak2=new speak(window.plugin02);
		</script>
	</head>
	<body>
		<button onclick="test1()">测试1</button>
		<button onclick="test2()">测试2</button>
		<script>

			function test1()
			{
				speak1.start();
			}
			
			function test2()
			{
				speak2.start();
			}
			
			//模拟3秒后2个用户,说话内容变化
			setTimeout(()=>{
				window.plugin01.content=window.plugin01.content+' 内容已变化。';
				window.plugin02.content=window.plugin02.content+' 内容已变化。';
			},3000);
		</script>
		
	</body>
</html>

【speak.js】

class speak{
	plugin={};
	constructor(plugin)
	{
		this.plugin=plugin;
		console.log('外部的东西 已经通过外挂方式 插进内部来了');
	}
	start(){
		
		console.log(this.plugin.content);
		this.plugin.start_back();
		
	}
}
export default speak;


这个是外部的东西往内部插。


image.png

标签: 外挂式编程

相关文章

外挂式插件编程思路【进阶篇】(5)

外挂式插件编程思路【进阶篇】(5)

继续深造angular.js,并加入jquery.js<!-- 空html,等待html插入 --> <div id="tab_body&q...

外挂式插件编程思路【基础篇】(1)

外挂式插件编程思路【基础篇】(1)

给大家介绍一下外挂式的编程思路,先从一个demo看起外挂式改写一些方法,同时不破坏它,加入自己需要的功能。【demo.html】<!DOCTYPE html> <html...

外挂式插件编程思路【敏捷框架篇】(9)

外挂式插件编程思路【敏捷框架篇】(9)

有了外挂式思维基础,开始涉及框架。个人理解,所谓框架就是自己研究一些习惯、一些风格,出于某个目的(如快速开发),而设计并开发出的一套生产工具。我这里对框架的需求主要是两点1、快。为了减少开发的工作时间...

外挂式插件编程思路【敏捷框架篇】(10)

外挂式插件编程思路【敏捷框架篇】(10)

优化细节,标签多个效果。如select正常得到的是value值,但是我们实际要在其他地方显示value对应的文字。【index.html】<!DOCTYPE html> <...

外挂式插件编程思路【进阶篇】(7)

外挂式插件编程思路【进阶篇】(7)

拓展angular.js更多功能,如变色方案(这里简单模拟颜色变化,方案变色要改class比较合理)【inedx.html】<!DOCTYPE html> <html&n...

外挂式插件编程思路【进阶篇】(6)

外挂式插件编程思路【进阶篇】(6)

深入模拟低代码编程【index.html】<!DOCTYPE html> <html ng-app="myApp"  n...