如果其他代码段已运行,我想运行代码。
IF 此代码运行
dat2$dif <- dat2$end_date - dat2$start_date
那么也运行此代码
(function() {
// Code runs here
})();
示例
//This code
http://www.w3schools.com/js/js_if_else.asp https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/if...else
这似乎不起作用?
if (condition) {
block of code to be executed if the condition is true
}
答案 0 :(得分:2)
你应该使用return语句,否则IIFE将返回undefined,因此它将等同于false语句。
if (
(function() {
// Code runs here
return true;
})();
){
//This code
}
答案 1 :(得分:1)
使用此
var functionName = (function() {
var didRun = false;
// This function will be executed only once, no matter how many times
// it is called.
function functionName() {
// Your code goes here
}
return function() {
if (didRun) {
return;
}
didRun = true;
return foo.apply(this, arguments);
}
})();
并检查,当函数didRun时,然后执行你的核心
答案 2 :(得分:0)
IIFE对我来说似乎是多余的 - 只需使用命名函数的简单方法并保持简单明了。如果有人可以给我使用IIFE作为If ...中的条件表达式,请发表评论 - 我很想了解我可能缺少的内容:
function odd(num) {
return num % 2;
}
// Use Dev Tools Console (F12) to see output
function logOddEven(num) {
if (odd(num)) {
console.log(num + ' is odd');
} else {
console.log(num + ' is even');
}
}
logOddEven(0);
logOddEven(1);
logOddEven(2);
&#13;