JavaScript依赖注入是什么


本文小编为大家详细介绍“JavaScript依赖注入是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaScript依赖注入是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。如下需求:假设已经有定义好的服务模块Key-Value集合,func为添加的新服务,参数列表为服务依赖项。解决思路:通过某种机制(反射?),取出该func定义的参数列表,并一一赋值。然后再通过某种机制(Activitor?),实例化该func。解决方案:一、获取func的参数列表:如何获取参数列表呢?我首先想到的是反射机制。那javascript里面有没有反射呢?应该有吧,我目前只知道使用eval(str)函数,但貌 似并没有获取参数列表的相关实现。再看func.arguments定义,此属性只在调用func并传递参数时才有效,也不能满足需求。那能不能通过处理func.toString()后的字符串获取参数列表呢?上手试试吧:至此获得func参数列表数组。二、根据参数列表寻找依赖:得到了参数列表,即得到了依赖列表,将依赖项作为参数传入也就很简单了。三、传递依赖项参数并实例化:我们知道,javascript里面有func.constructor有call(thisArg,[arg[,arg,[arg, […]]]])和apply(thisArg,args…)两个函数,都可以实现实例化func操作。其中call函数***个参数为this指针,剩余为 参数列表,这个适合在已知func参数列表的情 香港云主机况下使用,不能满足我的需求。再看第二个apply函数,***个参数也为this指针,第二个参数为参数数 组,其在调用时会自动为func的参数列表一一赋值,正好满足我的需求。代码大概如下:至此我们能够创建该func的实例,并传递该func需要的参数。四、打印测试一下吧:完整代码:读到这里,这篇“JavaScript依赖注入是什么”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注开发云行业资讯频道。

相关推荐: SAP ABAP和Linux系统里怎么检查网络传输的数据

本篇内容主要讲解“SAP ABAP和Linux系统里怎么检查网络传输的数据量”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SAP ABAP和 香港云主机Linux系统里怎么检查网络传输的数据量”吧!搜索之后,后台S…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 11/12 17:15
下一篇 11/12 17:16

相关推荐