Front.
There are a total of 46 operators in JavaScript, and there are many operators in addition to the arithmetic, relational, bitwise, and logical operators described earlier. This article describes the conditional operator, the comma operator, the assignment operator, (), and the void operator
Conditional operator
The conditional operator is the only ternary operator (three operands) in JavaScript, sometimes directly called the ' ternary operator '. Usually this operator is written as '?: ' and of course it's not so shorthand in code because this operator has three operands, the first operand is '? ' Before, the second operand is in '? ' and ': ', the third operand after ': '
Variable = boolean_expression? True_value:false_value;
In essence, this is based on the results of boolean_expression evaluation, decide what value to assign to the variable variable. If the evaluation result is true, assign a value to the variable variable true_value, and assign a value to the variable variable if the evaluation result is false false_value
The operands of a conditional operator can be of any type, the first operand as a Boolean value, and if it is true, the second operand is computed and its result is returned. Otherwise, if the first operand is a false value, then the third operand is computed and its results are returned. The second and third operands will always compute one of them, which cannot be performed simultaneously
In fact, using an If statement also brings the same effect, the '?: ' operator simply provides a shorthand form. Here is a typical scenario for '?: ' to determine whether a variable is defined (and to have a meaningful truth value), use it if it is defined, and use a default if there is no definition:
greeting = ' Hello ' + (username username: ' there ');
This is equivalent to the following code that uses the IF statement, but obviously the above code is more concise:
greeting = ' Hello ';
if (username)
Greeting + = Username;
else
greeting = ' there ';
Ternary conditional expressions have the same expressive effect as if...else statements, but they have a significant difference, If...else is a statement, there is no return value; The ternary conditional expression is an expression with a return value. So, in situations where you need to return a value, you can only use ternary conditional expressions instead of using the If...else
Console.log (true?) ' T ': ' F ');
In the code above, the parameter of the Console.log method must be an expression, and then only ternary conditional expressions can be used
Comma operator
The comma operator is a two-dollar operator, and its operands can be of any type. It computes the left operand first, then calculates the right operand, and finally returns the value of the right-hand operand, which can be executed in a single statement with a comma operator
i = 0,j = 1,k = 2;
The result is 2, which is basically equivalent to the following code
i =0 j = 1; k = 2;
A comma operator is often used to declare multiple variables
var iNum1 = 1, Inum = 2, iNum3 = 3;
The most common scenario for a comma operator is in a for loop, which typically has more than one loop variable:
The first comma in the For loop is part of the VAR statement//The
second comma is the comma operator
//It puts two expressions (i++ and j--) in a statement for
(var i=0, j=10;i<j;i++,j--) { Console.log (I+J);}
The comma operator can also be used to assign a value, and when used for assignment, the comma operator always returns the last item in the expression
var num = (1,2,3,4,5);
Console.log (num);//5
[note] Removing the parentheses will cause an error
Assignment operator
The simple assignment operator is represented by the equal sign ' = ', which assigns the value to the right of the equal sign to the variable or property to the left of the equal sign
The ' = ' operator expects its left operand to be a left value: A variable or an object attribute (or an array element). Its right-hand operand can be any value of any type. The value of an assignment expression is the value of the right-hand operand
Although assignment expressions are usually very simple, there are times when you see a complex expression that contains an assignment expression. For example, you can put assignment and relational operators in an expression, like this:
If you do this, you should know the difference between the ' = ' and ' = = ' operators. ' = ' has a very low priority, usually when a long expression is used with the value of an assignment statement, you need to add parentheses to ensure the correct order of operations
The binding of an assignment operator is right-to-left, that is, if more than one assignment operator appears in an expression, the order of operations is from right to left. Therefore, you can assign values to multiple variables in the following ways:
i = j = k = 0;//Initializes three variables to 0
JavaScript also provides 11 composite assignment operators, all of which are assignment operators that specify the operation and then return the resulting value to the variable on the left
[note] The purpose of designing these operators is to simplify assignment operations and to use them without any performance improvement
Total + = Sales_Tax;
Equivalent to Total
= total + sales_tax;
The operator example is equivalent to
+ + a+=b a=a+b-
= a-=b a=a-b
*=
a*=b a=a*b/= a/=b a=a/b
%= a%=b a=a%b
<<= a<<=b a=a<<b > >= a>>=b a=a>>b
>>>= a>>>=b
a=a>>>b &= a&=b a=a&b
|= a|=b a=a|b ^= a^=b a=a^b
In most cases, an expression is:
Here op represents an operator, and this expression is equivalent to the following expression
In the first row, expression a evaluates once, and in the second row, expression a evaluates to two times, and only when a contains an expression that has side effects, such as function calls and assignment operations, the two are not equivalent
data[i++]*=2;
data[i++] = data[i++]*2;
Parentheses operator
The parentheses operator has two uses: if the expression is placed in parentheses, the action is evaluated, and if you follow the function, the function is called
Put an expression in parentheses and return the value of an expression
Console.log ((1)); 1
console.log ((' a '));//' A '
console.log ((1+2));//3
Putting the object in parentheses returns the value of the object, which is the object itself
var o = {p:1};
Console.log ((o));//Object {p:1}
Putting a function in parentheses returns the function itself. If the parentheses are immediately following the function, it means calling the function, which is to evaluate the function
function f () {return 1;}
Console.log ((f));/function f () {return 1;}
Console.log (f ()); 1
Because the parentheses function is evaluated, if you put the statement in parentheses, you will get an error, because the statement does not return a value
Console.log (var a = 1);//syntaxerror:unexpected token var
console.log (var a = 1);//syntaxerror:unexpected token Var
void operator
Void is a unary operator that appears before the operand, the operands can be of any type, the operands are calculated as usual, but the results are ignored and the undefined is returned. Because void ignores the value of the operand, void is used to make the program more semantic when the operand has side effects
Console.log (void 0); Undefined
console.log (void (0));//undefined
"Action One" replaces undefined
Because undefined is not a keyword, it is overridden in the Ie8-browser and is overridden in the scope of the higher function, so it can be replaced with void 0来 undefined
var undefined = ten;
Console.log (undefined)//ie8-browser under 10, the high version of the browser for undefined
function t () {
var undefined = ten;
Console.log (undefined);
}
Console.log (t ());//all browsers are 10
"Action two" client URL
This operator is most commonly used in client Url--javascript:url, where a side-effect expression can be written in the URL, while void lets the browser not display the result of the expression. For example, the void operator is often used in <a> tags in html code
<a href= "Javascript:void window.open ();" > Open a new Window </a>
"Action three" blocks default events
The way to block the default event is to return the value false to the event
General wording
<a href= "http://example.com" onclick= "f (); return false;" > Text </a>
Use the void operator to replace the above notation
<a href= "Javascript:void (f ())" > Text </a>
This article on the JavaScript operators-conditions, commas, assignments, () and void operators are small parts to share all the content, hope to give you a reference, but also hope that we support the cloud habitat community.