Javascript检查函数的结果是否已经输出,如果是,则运行该函数
Javascript check if the result of a function has been already outputted and if yes, run the function
我为我糟糕的英语提前道歉。
我制作了一个javascript函数gen()
,它通过将从两个数组中随机选择的两个值相加来生成一个值。
我想创建一个函数,运行gen()
,并且只有在以前从未输出过值的情况下才输出该值,否则将再次执行函数gen()
。
提前谢谢。
gen()
函数的代码:
function gen() {
var s = ["a", "b"];
var c = ["c", "d"];
var MbSubj = ["Hello", "Hi", "Hey"];
var MaSubj = ["John", "Jack", "Matt"];
var FbSubj = ["Lara", "Juliet"];
var FaSubj = ["Lora", "Elise"];
var sRand = s[Math.floor(Math.random() * s.length)];
var cRand = c[Math.floor(Math.random() * c.length)];
var FbSubjRand = FbSubj[Math.floor(Math.random() * FbSubj.length)];
var MbSubjRand = MbSubj[Math.floor(Math.random() * MbSubj.length)];
var FaSubjRand = FaSubj[Math.floor(Math.random() * FaSubj.length)];
var MaSubjRand = MaSubj[Math.floor(Math.random() * MaSubj.length)];
function mb() {
return MbSubjRand + MaSubjRand;
}
function ma() {
return MaSubjRand + MbSubjRand;
}
function fb() {
return FbSubjRand + MaSubjRand;
}
function fa() {
return FaSubjRand + MbSubjRand;
}
if (sRand === "a" && cRand === "b") {
mb();
} else if (sRand === "b" && cRand === "c") {
ma();
} else if (sRand === "a" && cRand === "d") {
fb();
} else {
fa();
}
}
如果您已经运行gen,则保留变量,如果是,则不再运行,如果不是,则运行它:
JSFiddle:http://jsfiddle.net/0j8wqswn/
function gen(){
alert('this is the gen function')
}
(function(){
var alreay_run=false;
new_function=function(){
if(alreay_run) return
alreay_run=true
gen();
}
})()
//Let's Test
new_function()
new_function()
new_function()
//You will see alert only one time
相关文章:
- 如果使用javascript函数屏幕太小,我该如何更改HTML文件的背景色
- 如果在构造函数中有“返回”,则在 JavaScript 中的新运算符中做了什么
- 如果函数返回True,则显示Javascript按钮
- 如果 JS 中的函数是一流的,那么在定义它们之前允许调用它们是什么
- 如果在构造函数内部为else,则Javascript是可选的
- 我如何才能继续'如果'语句来比较作为参数的多个函数返回值
- 如果在'/'执行此函数的途径是可以异步执行此代码
- 如果文本或值以字符开头,请运行函数
- 如果没有其他函数链接到promise,则默认行为
- 如果没有document.ready(),我怎么能拥有多个javascript函数呢
- 根据条件将函数放入数组中(如果选中复选框)
- 如果变量不是't已传递给函数.这是正确的方式吗
- Don'如果字段为空,则不运行函数
- j查询点击事件;调用特定函数(如果可用)
- lodash 是否有单行方法来调用函数(如果存在)
- 是否有可用于<对象>的Javascript“Evoke”函数 - 如果有,它是什么
- 结束函数(如果$thisPage等于特定页面)
- 调用函数(如果移动)
- jQuery mouseEnter 函数 - 如果颜色还没有,则更改颜色
- 一个JS函数如果是一个正在工作的JS函数的近似副本,那么它将无法工作