亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

javascript interface

系統(tǒng) 2969 0
我轉(zhuǎn)載的啊:
function Interface(name, methods)
{
if(arguments.length != 2) {
throw new Error("接口構(gòu)造函數(shù)含" + arguments.length + "個(gè)參數(shù), 但需要2個(gè)參數(shù).");
}
this.name = name;
this.methods = [];
if(methods.length < 1) {
throw new Error("第二個(gè)參數(shù)為空數(shù)組.");
}
for(var i = 0, len = methods.length; i < len; i++) {
if(typeof methods[i][0] !== 'string') {
throw new Error("接口構(gòu)造函數(shù)第一個(gè)參數(shù)必須為字符串類型.");
}
if(methods[i][1] && typeof methods[i][1] !== 'number') {
throw new Error("接口構(gòu)造函數(shù)第二個(gè)參數(shù)必須為整數(shù)類型.");
}
if(methods[i].length == 1) {
methods[i][1] = 0; // 只有一個(gè)方法名稱,沒有參數(shù),所以……
}
this.methods.push(methods[i]);
}???
};

Interface.registerImplements = function(object) {

if(arguments.length < 2) {
throw new Error("接口的實(shí)現(xiàn)必須包含至少2個(gè)參數(shù)."); // 類名和方法數(shù)組
}

for(var i = 1, len = arguments.length; i < len; i++) {
var interface = arguments[i];
if(interface.constructor !== Interface) {
throw new Error("從第2個(gè)以上的參數(shù)必須為接口實(shí)例.");
}
for(var j = 0, methodsLen = interface.methods.length; j < methodsLen; j++) {
var method = interface.methods[j][0];
if(!object[method] || typeof object[method] !== 'function' || object[method].getParameters().length != interface.methods[j][1]) {
throw new Error("接口的實(shí)現(xiàn)對(duì)象不能執(zhí)行" + interface.name + "的接口方法" + method + ",因?yàn)樗也坏交蛘卟黄ヅ?");
}
}
}
};

Function.prototype.getParameters = function() {

var str = this.toString();
var paramString = str.slice(str.indexOf('(') + 1, str.indexOf(')')).replace(/\s*/g,'');???? //取得參數(shù)字符串
try
{
return (paramString.length == 0 ? [] : paramString.split(','));
}
catch(err)
{
throw new Error("函數(shù)不合法!");
}
}

var Person = new Interface("Person", [["getName", 0], ["setName", 1]]);
function Man()
{
this.name = "";
Interface.registerImplements(this, Person);
}
Man.prototype.getName = function() {
return this.name;
};
Man.prototype.setName = function(name) {
this.name = name;
};
var man = new Man();
??? man.setName("Leepy");
??? alert(man.getName());

function SchoolBoy(classNo, post)
{
Man.call(this);
this._chassNo = classNo;
this._post = post;
}
SchoolBoy.prototype = new Man();
SchoolBoy.prototype.getName = function() {
return "Mr " + this.name;
}
SchoolBoy.prototype.setName = function(name) {
this.name = name + "'s";
}
var schoolboy = new SchoolBoy("三年二班", "班長(zhǎng)");
schoolboy.setName("周杰倫");
alert(schoolboy.getName());

javascript interface


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 国产欧美日韩综合二区三区 | 老司机观看精品一区二区 | 欧美jizz18性欧美 | 中文字幕久久久久 | 久久国产乱子伦精品免费一 | 欧美日韩一区二区三 | a毛片免费全部播放完整成 a毛片免费全部在线播放毛 | cao美女视频网站在线观看 | 香香在线观看视频 | 欧美伊香蕉久久综合类网站 | 国产成人精品男人的天堂网站 | 日本一区二区三区免费在线观看 | 中文字幕精品在线观看 | www.99爱 | 日本在线视频不卡 | 日韩中文字幕视频在线 | 手机看片国产永久1204 | 国产欧美日韩中文久久 | 日日干夜夜爽 | 四虎影视在线 | 热久久只有精品 | 黄视频福利| 996re免费热在线视频手机 | 久久久久毛片免费观看 | 亚洲一区二区福利视频 | www.九色| 亚洲第一毛片 | 免费黄色的视频 | 久久免费视频在线观看 | 精品一区二区三区免费视频 | 欧美a视频 | 国产操美女| 亚洲欧洲久久 | 免费观看男女羞羞的视频网站 | 国产精品一区在线播放 | 特级做人爱c级特级aav毛片 | 成人精品一区二区三区中文字幕 | 97视屏| 色偷偷亚洲女人天堂观看欧 | 午夜干b | 欧美日韩亚 |