亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

JavaScript接口實現代碼 (Interfaces In JavaScript)

2024-09-06 12:45:49
字體:
來源:轉載
供稿:網友
在實際中,我們可以在注釋中定義好接口,在實際的代碼中予以實現
比如:
代碼如下: /*
interface Composite {
function add(child);
function remove(child);
function getChild(index);
}
interface FormItem {
function save();
}
*/
var CompositeForm = function(id, method, action) { // implements Composite, FormItem
...
};
// Implement the Composite interface.
CompositeForm.prototype.add = function(child) {
...
};
CompositeForm.prototype.remove = function(child) {
...
};
CompositeForm.prototype.getChild = function(index) {
...
};
// Implement the FormItem interface.
CompositeForm.prototype.save = function() {
...
};

實現接口的程序員是否將這些接口都實現了呢?我們沒辦法保證!因為這里沒有任何辦法去檢查是否都實現了
我們需要一個檢查是否實現了接口的機制,可以這樣:
代碼如下: /*
interface Composite {
function add(child);
function remove(child);
function getChild(index);
}
interface FormItem {
function save();
}
*/
var CompositeForm = function(id, method, action) {
this.implementsInterfaces = ['Composite', 'FormItem'];
...
};
...
function addForm(formInstance) {
if(!implements(formInstance, 'Composite', 'FormItem')) {
throw new Error("Object does not implement a required interface.");
}
...
}
// The implements function, which checks to see if an object declares that it
// implements the required interfaces.
function implements(object) {
for(var i = 1; i < arguments.length; i++) { // Looping through all arguments
// after the first one.
var interfaceName = arguments[i];
var interfaceFound = false;
for(var j = 0; j < object.implementsInterfaces.length; j++) {
if(object.implementsInterfaces[j] == interfaceName) {
interfaceFound = true;
break;
}
}

if(!interfaceFound) {
return false; // An interface was not found.
}
}
return true; // All interfaces were found.
}
這種方法讓程序員在寫的時候注明實現了哪些接口: this.implementsInterfaces = ['Composite', 'FormItem']; 在調用的時候使用implements方法來判斷是否實現了,理論上可行,很有可能寫上了實現了'Composite'接口,但是代碼里卻并沒有add方法!因此,我們需要檢驗實現接口的類是否包含了接口里的方法!所以,接口必須從注釋中解放出來:
代碼如下: // Interfaces.
var Composite = new Interface('Composite', ['add', 'remove', 'getChild']);
var FormItem = new Interface('FormItem', ['save']);
// CompositeForm class
var CompositeForm = function(id, method, action) { // implements Composite, FormItem
...
};
...
function addForm(formInstance) {
Interface.ensureImplements(formInstance, Composite, FormItem);
// This function will throw an error if a required method is not implemented,
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品女人久久久久久| 成人动漫网站在线观看| 欧美日韩亚洲一区二区| 色综合久久88| 国产精品影片在线观看| 亚洲曰本av电影| 国产+人+亚洲| 国产精品久久久久久av福利软件| 日韩美女视频在线观看| 久久这里只有精品视频首页| 久久精品国产一区二区三区| 一本色道久久88综合日韩精品| 亚洲第一区中文99精品| 久久久久久久91| 2019中文字幕免费视频| 亚洲iv一区二区三区| 亚洲曰本av电影| 亚洲毛片在线看| 国产精品扒开腿做爽爽爽视频| 亚洲男人天堂2019| 国产精品久久999| 成人激情视频网| 九九热精品在线| 91亚洲午夜在线| 久久久精品2019中文字幕神马| 中文字幕精品www乱入免费视频| 亚洲第一免费播放区| 欧美老女人www| 欧美一区二区三区图| 国产在线视频2019最新视频| 久久精品最新地址| 欧美日韩成人在线观看| 国产精品video| 欧亚精品在线观看| 精品久久久91| 欧美一级淫片播放口| 日韩亚洲成人av在线| 久久久久www| 国产极品精品在线观看| 日韩精品在线观看视频| 亚洲风情亚aⅴ在线发布| 国产精品久久久久久久久久新婚| 日韩免费av一区二区| 97热精品视频官网| 日韩成人激情影院| 久久精品人人做人人爽| 久久综合久久88| 久热精品视频在线免费观看| 欧美视频13p| 成人黄色影片在线| 亚洲一区二区三区毛片| 久久久久久久久久久久久久久久久久av| 欧美中文字幕在线| 最好看的2019的中文字幕视频| 久久人人爽人人爽人人片av高请| 亚洲美女又黄又爽在线观看| 国产日韩欧美日韩| 97久久久免费福利网址| 国产欧美日韩最新| 日韩免费在线视频| 午夜精品久久久久久久男人的天堂| 日韩美女主播视频| 日本亚洲欧美三级| xvideos亚洲人网站| 中文字幕久热精品视频在线| 国外成人在线视频| 久久久久久久久久婷婷| 美女黄色丝袜一区| 国产精品高潮粉嫩av| 法国裸体一区二区| 精品美女久久久久久免费| 日韩欧美中文第一页| 国产精品日韩久久久久| 91视频8mav| 国产精品视频区1| 精品久久久在线观看| 亚洲国产中文字幕在线观看| 日韩电影大片中文字幕| 俺去了亚洲欧美日韩| 国产97免费视| 久久久精品国产亚洲| 久久五月天色综合| 国产视频在线观看一区二区| 亚洲欧美中文另类| 欧美性jizz18性欧美| 精品视频在线观看日韩| 国产在线拍偷自揄拍精品| 日韩在线视频线视频免费网站| 成人日韩在线电影| 久久成人精品一区二区三区| 久久久久久久国产| 91在线免费观看网站| 日本a级片电影一区二区| 国产精品va在线播放我和闺蜜| 5566日本婷婷色中文字幕97| 日本欧美在线视频| 亚洲人午夜色婷婷| 91网站在线免费观看| 亚洲国产欧美一区二区三区同亚洲| 亚洲精品久久久久中文字幕二区| 日韩av一区二区在线观看| 青青草国产精品一区二区| 精品国产依人香蕉在线精品| 26uuu另类亚洲欧美日本老年| 欧美理论片在线观看| 亚洲最大的成人网| 黑人巨大精品欧美一区二区| 国产日产久久高清欧美一区| 国产日韩欧美影视| 成人黄色午夜影院| 欧洲午夜精品久久久| 欧美激情国内偷拍| 91亚洲va在线va天堂va国| 国产精品久久久久久久av电影| 亚洲va男人天堂| 欧美亚洲另类制服自拍| 成人在线精品视频| 亚洲电影中文字幕| 精品动漫一区二区三区| 欧美国产日韩精品| 乱亲女秽乱长久久久| 国产成人高潮免费观看精品| 亚洲电影天堂av| 亚洲国产日韩精品在线| 日韩av第一页| 亚洲天堂男人天堂| 久久久免费精品视频| 97久久精品人搡人人玩| 亚洲欧美一区二区三区久久| 欧美激情xxxx| 欧美性猛交xxxx黑人| 国产噜噜噜噜噜久久久久久久久| 中国人与牲禽动交精品| 国产一区二区三区中文| 国产成人精品在线| 欧美激情三级免费| 亚洲国产日韩欧美在线图片| 亚洲精品国产拍免费91在线| 久久久久久网站| 精品欧美国产一区二区三区| 激情成人在线视频| 亚洲福利视频专区| 亚洲男人的天堂在线播放| 国产精品久久久久7777婷婷| 精品国产一区二区三区久久久| 欧美精品久久久久久久| 亚洲久久久久久久久久久| 久久久久久久久亚洲| 国内伊人久久久久久网站视频| 欧美午夜宅男影院在线观看| 欧美在线视频一区二区| 欧美视频专区一二在线观看| 亚洲国产精品嫩草影院久久| 国产精品com| 高清欧美性猛交xxxx黑人猛交| 国产主播喷水一区二区| 国产精品无av码在线观看| 久久久久国色av免费观看性色| 欧美国产中文字幕| 2019最新中文字幕| 日韩在线一区二区三区免费视频| 日韩精品视频在线观看网址| 中文字幕亚洲欧美日韩2019| 国产精品美女久久久久久免费|