1. //定义一个接口函数
  2. var Interface = function(interfaceName,interfaceMethods){
  3. if(arguments.length!=2){
  4. alert("Interface expected  2 arguments,one is for Interface Name, and the other is the Array for methods ")
  5. }
  6. this.interfaceName = interfaceName;
  7. this.interfaceMethods = new Array();
  8. for(var i = 0;i < interfaceMethods.length;i++){
  9. if(typeof interfaceMethods[i] !== "string"){
  10. alert("Interface constructor expects each method name to be passed in as a string");
  11. break;
  12. }
  13. this.interfaceMethods.push(interfaceMethods[i])
  14. }
  15. }
  16. //检查对象实现接口函数的情况,可以实现多继承,第二个参数为对象数组
  17. Interface.CheckImplements = function(object,interfaces){
  18. if(arguments.length!=2){
  19. alert("Interface expected  2 arguments,one is for Interface Name, and the other is the Array for methods ")
  20. }
  21. for(var i=0;i,i<interfaces.length;i++){
  22. //alert(interfaces[i])
  23. if(interfaces[i].constructor !== Interface){
  24. alert("the interface expects to be created from Interface")
  25. break;
  26. }
  27. var interface = interfaces[i];
  28. for(var j=0;j<interface.interfaceMethods.length;j++){
  29. method = interface.interfaceMethods[j];
  30. if(!object[method]||(typeof object[method]!="function")){
  31. alert("object for the method '"+method+ " ' is not found for Interface '"+ interface.interfaceName+ " '")
  32. break;
  33. }
  34. }
  35. }
  36. }

转载于:https://www.cnblogs.com/ryan1990/p/4205464.html

Javascript 面向对象编程定义接口的一种方法相关推荐

  1. JavaScript面向对象编程(2)-- 类的定义

    javascript面向对象编程(2)-- 类的定义 2008-05-29 11:05 by johnson2008, 6196 visits, 收藏, 编辑 最近这一段时间事情太多了,没有时间再继续 ...

  2. javascript面向对象编程实现[定义(静态)属性方法--继承]

    javascript面向对象编程实现:             1.类的声明:                 function test1(){                     this.p ...

  3. 《javascript面向对象编程指南》读书笔记

    <javascript面向对象编程指南>读书笔记 <javascript面向对象编程指南>读书笔记 第一章 面向对象的JavaScript 第二章 基本数据类型与流程控制 变量 ...

  4. JavaScript 面向对象编程思想

    JavaScript 面向对象编程思想 什么是面向对象 面向对象不是新的东西,它只是过程式代码的一种高度封装,目的在于提高代码的开发效率和可维护性. 面向对象编程 -- Object Oriented ...

  5. 浅谈JavaScript 面向对象编程[转]

    这周心血来潮,翻看了现在比较流行的几个 JS 脚本框架的底层代码,虽然是走马观花,但也受益良多,感叹先人们的伟大-- 感叹是为了缓解严肃的气氛并引出今天要讲的话题,"javascript 面 ...

  6. JavaScript 面向对象编程(三) —— 函数进阶 / 严格模式 / 高阶函数 / 闭包 / 浅拷贝和深拷贝

    本篇为 JavaScript 进阶 ES6 系列笔记第三篇,将陆续更新后续内容.参考:JavaScript 进阶面向对象 ES6 :ECMAScript 6 入门 系列笔记: JavaScript 面 ...

  7. JavaScript 面向对象编程(二) —— 构造函数 / 原型 / 继承 / ES5 新增方法

    本篇为 JavaScript 进阶 ES6 系列笔记第二篇,将陆续更新后续内容.参考:JavaScript 进阶面向对象 ES6 :ECMAScript 6 入门 : Javascript 继承机制的 ...

  8. JS(四)--JavaScript 面向对象编程

    JavaScript 面向对象编程 一.JavaScript 面向对象编程 1.1..什么是面向对象编程 1.2.面向过程和面向对象的对比 1.3.JavaScript 中的对象? 1.3.1.属性和 ...

  9. Javascript 面向对象编程(一):封装 ——转自阮一峰博客

    Javascript 面向对象编程(一):封装 作者: 阮一峰 日期: 2010年5月17日 学习Javascript,最难的地方是什么? 我觉得,Object(对象)最难.因为Javascript的 ...

最新文章

  1. 所谓移动IP是指(58);实现移动IP的关键技术是(59)。【答案】D B
  2. eip协议通信_3月免费公开课伺服、通信等课程重磅发布,火热报名中
  3. 2022图神经网络5篇最新的研究综述:双曲/图分类/联邦/等变/异质性
  4. AI技术的天花板:图灵机无法建立“自我”意识的概念
  5. 回车键兼容多个浏览器
  6. Ubuntu 创建文件快捷方式 启动器
  7. 『HTML5制造仿JQuery作用』减速
  8. mysql 杀存储过程进程_SQL SERVER 杀死锁进程存储过程
  9. 01-H5语义化标签
  10. 全球知名大学课件下载地址汇总
  11. 这样查看告警邮件要慢一点……
  12. 解决虚拟机克隆后eth0不见的问题
  13. 使用cordova,使html5也能像IOS,Android那样可以 调取手机的相机拍照功能
  14. 【代码优化】注解优先命名模式
  15. 谷歌卫星地图下载助手
  16. AIDA64 Business Edition(系统检测)多国语言绿色特别
  17. 找特征点的算法 SIFT和SURF算法
  18. 薛定谔的猫、量子纠缠、和量子计算机
  19. CentOS 系统查询开机启动项服务
  20. 化云为雨,华为云为什么要深入经济的“毛细血管”?

热门文章

  1. 主板rs232接口测试软件,简洁的RS232串口通信电路与串口通信测试程序
  2. oracle数据库的性能测试工具有哪些,使用Oracle性能测试工具swingbench测试instance caging...
  3. linux neo4j 服务器,如何在linux服务器上配置Neo4j · Digital World
  4. cnc加工中心保养表_CNC加工中心有哪些日常保养方法?
  5. 在计算机领域做研究的一些想法-- 转载
  6. [BZOJ 1012] 最大数maxnumber
  7. 2020-07-07 CVPR2020 i3DV论文讨论(3) 笔记
  8. CVPR 2017 SANet:《SANet: Structure-Aware Network for Visual Tracking》论文笔记
  9. CVPR 2018 目标跟踪相关论文
  10. HDOJ 4699-Editor[栈]