Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
348 views
in Technique[技术] by (71.8m points)

if statement - javascript syntax questioon

So let's say I have the following code:

function c (f,i) {
  let x = i;
  if (f(x,i)){
     x--;
  }
  if (f(x,2)) {
     console.log(1);
  }
  else {
     console.log(2);
  }
}

what exactly happens in the if statements, I don't understand the syntax behind it. f is no function, it's a variable, so what happens here? does it equal to f * ( x * i)? whats the operands behind this syntax. Thanks in advance


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

A variable can also hold a function. It's possible to call c like this:

c(function(x, i) {/* do some check with x and i */}, 10);

In the if statements, the function you pass is called to do a check. A function like this is called a callback function. You have to pass it to the c function as in the example above. So if you call c, you can also determine how the check is done that c does.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...