此刻学习javascript,坚持继承。题:
如何将 PROBE_ID SYMBOL CT.AVG_Signal CT.NARRAYS CT.ARRAY_STDEV CT.Detection.Pval CT.DiffScore KO.AVG_Signal
1 ILMN_1223317 Lgals3 434.8137 4 83.70733 0 0 1935.535
2 ILMN_3049559 C4b 1577.4540 4 237.21950 0 0 6974.214
KO.NARRAYS KO.ARRAY_STDEV KO.Detection.Pval KO.DiffScore SEARCH_KEY ILMN_GENE CHROMOSOME
1 4 223.9622 0 333.2554 ILMN_222956 LGALS3 14
2 4 531.5039 0 333.2554 ILMN_210539 C4B 17
DEFINITION
1 Mus musculus lectin, galactose binding, soluble 3 (Lgals3), mRNA.
2 Mus musculus complement component 4B (Childo blood group) (C4b), mRNA. XM_921663 XM_921673 XM_921676 XM_921678
SYNONYMS
1 L-34; Mac-2; GBP; gal3
2 Ss; C4
png("BS.png", width=1500, height=800)
g<-ggplot(BS,aes(SYMBOL,KO.DiffScore))
BSplot<-g+geom_point()+theme(axis.text.x=element_text(angle=45,hjust=1,size=8))
print(BSplot)
dev.off()
函数从delay
函数继承到first
,并使用不同的文本 - second
var text
我需要使用var first = (function () {
var text = "test!";
return {
delay: function(time) {
setTimeout(function() {
alert(text);
}, time)
}
}
})();
first.delay(400);
second.delay(1000);
function second() {
var text = 'second';
}
吗?我无法弄明白。
或者我是否需要创建这样的延迟函数:first.prototype.delay.call(this, time)
我如何实现这一目标?我想我可以用不同的方法做到这一点......
答案 0 :(得分:1)
您可能希望仔细查看closures。继承在这里并没有真正帮助你,因为你需要一个本地的闭合变量用于超时回调。
闭包是由函数动态生成的函数 - 这正是我们干代码所需要的。
function makeAlerter(text) {
return {
delay: function(time) {
setTimeout(function() {
alert(text);
}, time);
}
};
}
var first = makeAlerter("test!");
var second = makeAlerter("second");
var third = …; // as many as you want
first.delay(400);
second.delay(1000);