《黑马程序员:JavaScript---在JavaScript中模拟接口》由会员分享,可在线阅读,更多相关《黑马程序员:JavaScript---在JavaScript中模拟接口(2页珍藏版)》请在金锄头文库上搜索。
1、和 Java 不同,JavaScript 中没有接口的定义,也不能通过 implements 关键字实现接口。在 JavaScript如果想让某些构造函数中必须定义某些方法,可以模拟实现接口。代码如下所示:/ 模拟一个接口的构造函数,这和 java 中的接口是有区别的,需要通过 new Interface 来创建接口/* name 接口名字* method 为一个字符串数组,存放接口中的方法名*/var Interface = function(name, methods) / 接口的构造函数必须接收两个参数,否则程序出错if (arguments.length != 2)alert(“Int
2、erface constructor calles with“ + arguments.length +“arguments,but expected exactly 2“);/ 成员变量 name,接收传入的接口名字this.name = name;/ 成员变量 methods,存储传入的方法名this.methods = ;for (var x = 0, len = methods.length; x len; x+) / 如果传入的 method 不是一个字符串数组,程序出错if ( typeof methodsx != “string“) alert(“the method name must be a String“);/ 否则将方法名存入 methods 数组中this.methods.push(methodsx);上面的代码是一个接口的构造函数,如果要定义一个 Animal 接口,是接口中有 shout()和 sleep()方法,可以通过 new 关键字实现:var Animal= new Interface(“Animal“,“shout“,“sleep“);这里第一个参数 Animal 是接口名字,第二个参数字符串数组中的元素是接口中的方法名。