标签:als 语法 document 它的 三次 引入 特殊 算术 var
JavaScript 共提供10个算术运算符,用来完成基本的算术运算。
x + y
x - y
x * y
x / y
x ** y
x % y
++x
或者 x++
--x
或者 x--
+x
-x
加法运算符是在运行时决定,到底是执行相加,还是执行连接。也就是说,运算子的不同,导致了不同的语法行为,这种现象称为“重载”。 eg: 1 + 2 // 3 1 + ‘2‘ // 12
加法运算符会发生重载,减,乘,除都不会发生重载,因为他们会先转为数值,在进行计算。
布尔运算符:
且(&&)运算符:
它的运算规则是:如果第一个运算子的布尔值为true,则返回第二个运算子的值(注意是值,不是布尔值);
如果第一个运算子的布尔值为false,则直接返回第一个运算子的值,且不再对第二个运算子求值。
或(||)运算符:
它的运算规则是:如果第一个运算子的布尔值为true,则返回第一个运算子的值,且不再对第二个运算子求值;
如果第一个运算子的布尔值为false,则返回第二个运算子的值。
短路:
这种只通过第一个表达式的值,控制是否运行第二个表达式的机制,就称为“短路”(short-cut)。
异或运算(^
)在两个二进制位不同时返回1
,相同时返回0
。
“异或运算”有一个特殊运用,连续对两个数a和b进行三次异或运算,a^=b; b^=a; a^=b;可以互换它们的值。这意味着,使用“异或运算”可以在不引入临时变量的前提下,互换两个变量的值。
var a = 10;
var b = 99;
a ^= b, b ^= a, a ^= b;
a // 99
b // 10
异或运算也可以用来取整。
12.9 ^ 0 // 12
void运算符
void
运算符的作用是执行一个表达式,然后不返回任何值,或者说返回undefined
。
var x = 3; void (x = 5) //undefined -- 运行x=5但是没有返回任何值,x的值经过执行已经变为5 x // 5
下面是一个更实际的例子,用户点击链接提交表单,但是不产生页面跳转。
<a href="javascript: void(document.form.submit())"> 提交 </a>
逗号运算符
逗号运算符用于对两个表达式求值,并返回后一个表达式的值。
标签:als 语法 document 它的 三次 引入 特殊 算术 var
原文地址:https://www.cnblogs.com/liumcb/p/14476031.html