时间:2021-05-28
本文实例讲述了JavaScript 接口原理与用法。分享给大家供大家参考,具体如下:
意义:
提供一种以说明一个对象应该有哪些方法的手段。
接口是面向对象javascript程序员的工具箱中最有用的工具之一
接口的利弊:
对于一些中小型程序来说 使用接口很显然是不明智的,对项目来说接口的好处也不明显,只是徒增其复杂度而已。
对于接口的好处,那么显而易见 首先促进代码的重用,对于开发来讲,还可以告诉程序员那些类都使用了什么方法,如果你事先知道接口那么就减少了你在编码的时候对类与类之间冲突,实现解耦。对于测试和调试也会变得轻松,用于javascript的弱类型语言,类型不匹配经常出现,那么使用接口,这一点会变得容易一些。
优点:程序员可以有一个参考
缺点:属于文档的范畴 ,这种方式过于松散, 没有检查接口的方法是否完全被实现
判断接口是否存在
//CompositeImp1 implements Composite , FormItemvar CompositeImpl = function () { //显式在类的内部, 接受所实现的接口 //一般来说, 在类的内部,定义一个数组(数组变量名字固定) this.implementsInterfaces = ['Composite', 'FormItem']; //利用 implementsInterfaces 后续的判断使用 }CompositeImpl.prototype.remove = function ( obj ) { // do something ...}CompositeImpl.prototype.update = function ( obj ) {}CompositeImpl.prototype.add = function (obj) { alert('add');}CompositeImpl.prototype.select = function (obj) {}//检测 CompositeImpl 类 的对象function CheckCompositeImpl ( instance ) {//实例对象作为参数,检测是否存在 //判断当前对象是否实现了所有的接口。 if ( !IsImplements(instance,'Composite','FormItem') ) { throw new Error('Object does not implement a requried interface'); } }//公用的具体的检测方法(核心方法) //return booleanfunction IsImplements ( obj ) { //判断实例对象,有没有实现相关的接口. //arguments 对象 获得函数的实际参数 for ( var i=1; i<arguments.length; i++ ) { //接收所实现接口的名字 var interfaceName = arguments[i]; //判断此方法, 是 成功,还是失败。 var interfaceFound = false; for ( var j=0; j<obj.implementsInterfaces.length; j++ ) { if ( obj.implementsInterfaces[j] == interfaceName ) { interfaceFound = true; break; } } if ( !interfaceFound ) { return false; } } return true; }核心: 一个类实现接口的主要目的:把接口里的方法都实现。(检测实现方法)
完全面向对象,代码实现统一, 也解耦
总结:接口是实现解耦。避免类和类之间,调用方法的冲突。
感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试上述代码运行效果。
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了JavaScript适配器模式原理与用法。分享给大家供大家参考,具体如下:适配模式可用来在现有接口和不兼容的类之间进行适配,使用这种模式的对象又叫
本文实例讲述了JavaScript浏览器对象模型BOM原理与常见用法。分享给大家供大家参考,具体如下:什么是BOMBOM:BrowserObjectModel,
本文实例讲述了JavaScript闭包原理与用法。分享给大家供大家参考,具体如下:为了更好的理解,在阅读此文之前建议先阅读上一篇《JavaScript词法作用域
本文实例讲述了JavaScript中BOM对象原理与用法。分享给大家供大家参考,具体如下:百度百科BOM(BrowserObjectModel)是指浏览器对象模
本文实例讲述了javascript设计模式–中介者模式原理与用法。分享给大家供大家参考,具体如下:介绍:在前端开发的过程中,组件与组件之间的通讯特别常见,一个组