Conditional statements are used to perform different actions based on different conditions.
Conditional statement
Usually when writing code, you always need to perform different actions for different decisions. You can use conditional statements in your code to accomplish this task.
In JavaScript, we can use the following conditional statements:
•if statement - Use this statement to execute code only when the specified condition is true
•if...else statement - Execute code when the condition is true, and execute other code when the condition is false
•if...else if....else statement - Use this statement to select one of multiple blocks of code to execute
•switch statement - Use this statement to select one of multiple code blocks to execute
If statement
This statement will execute the code only if the specified condition is true.
Grammar
Note: Please use lowercase if. Using uppercase letters (IF) will generate a JavaScript error!
Example
When the time is less than 20:00, generate a "Good day" greeting:
x is:
Good day
Try it for yourself
Please note that in this syntax, there is no ..else.. . You've told the browser to only execute the code if the specified condition is true.
If...else statement
Please use if....else statement to execute code when the condition is true and other code when the condition is false.
Grammar
Example
When the time is less than 20:00, you will get the greeting "Good day", otherwise you will get the greeting "Good evening".
x is:
Good day
Try it for yourself
If...else if...else statement
Use the if....else if...else statement to select one of multiple blocks of code to execute.
Grammar
x is:
Good morning
In JavaScript, what values can be used as the conditions of if
1. Boolean variable true/false
2. Number is not 0, not NaN/ (0 or NaN)
See the example below. Don’t think that a negative number means the if statement is false.
3. The object is not null/(null or undefined)
4. The string is not empty string ("")/empty string ("")
To sum up, for strings, there is no need to write a lot of if (str!=null && str!=undefined && str !=''), just use one sentence
That’s it.
For the non-empty judgment of numbers, you should consider using the isNaN() function. NaN is not equal to any type of data, including itself, and can only be judged with isNaN(). For numeric types, if(a) is false when a in the if(a) statement is 0, and if(a) is true when it is not 0
Javascript tutorial: Methods for optimizing if statements if abbreviation
UglifyJS is a tool for compressing and beautifying JavaScript. In its documentation, I saw several methods for optimizing if statements. Although I haven't used it to do some tentative tests, you can see from here that it does beautify js. Some people may think that the if statement is that simple, to what extent can it be optimized? But take a look at the following ways and you might change your mind.
1. Use common ternary operators
if (foo) bar(); else baz(); ==> foo?bar():baz();
if (!foo) bar(); else baz(); ==> ; foo?baz():bar();
if (foo) return bar(); else return baz(); ==> return foo?bar():baz();
You will definitely be familiar with the above use of ternary operator to optimize if statements, maybe you use it often.
Example given by Script House:
Output result:
100
2. Use the and(&&) and or(||) operators
if (foo) bar(); ==> foo&&bar();
if (!foo) bar(); ==> foo||bar();
To be honest, I have never written code like this. I saw this way of writing when I was studying "Brother Niao's Linux Private Cooking", but I didn't expect to implement it in js.
3. Omit the braces {}
if (foo) return bar(); else something(); ==> {if(foo)return bar();something()}
You and I are familiar with this writing method, but I recommend doing this when optimizing the code, or letting UglifyJS help you solve it. After all, if there is one missing curly bracket, the readability of the code is not high.
Writing this, I thought of a method for obtaining HTML element attributes in "Mastering JavaScript" by the father of jQuery.
function getAttr(el, attrName){
var attr = {'for':'htmlFor', 'class':'className'}[attrName] || attrName;
};
If we don’t write it this way, we may need to use two if statements to process it. The above code is not only concise and effective, but also highly readable.
If you think about it carefully, many times we can find effective ways to solve problems, but the key lies in whether we are diligent in finding a better way.
[javascript skills] if(x==null) abbreviation
if(x==null) or if (typeof (x) == 'undefined') can be abbreviated as if(!x), which is not verified.
On the contrary if(x) means x is not empty
Determine whether the object exists