|
赋值运算符
赋值运算符用于为变量指定变量值,与 Java和C 类似,JavaScript 也使用“=”作为赋值运算符。 //将变量str 赋值为 JavaScript let str = "JavaScript "; //将变量 pi 赋值为3.14 let pi= 3. 14 ; //将变量赋值为 true let visited= true ; 除此之外,也可使用赋值运算符将一个变量的值赋给另一个变量。 即如下代码也是正确的 //将变扯 str 赋值为 JavaScript let str = "JavaScript "; //将变批 str 的值赋给 str2 let str2 = str; 赋值语句本身是有值的,赋值语句的值就是等号(=)右边被赋的值。 因此 ,赋值运算符支持连续赋值,通过使用多个赋值运算符 ,可以一次为多个变量赋值 ,如下代码 是正确的 //为 b, c,d 赋值,四个变量的值都是 let a= b = c = d = 7; //输出四个变量的值 alert(a + b+ c + d); 赋值运算符还可用于将表达式的值赋给变量,如下代码也是正确的: //为变量 x 赋值为 12.34 let x = 12 . 34; //将表达式的值赋给y let y= x + 5 ; //输出 的值 alert(y) ; 算术运算符 +:加 法运算符 例如如下代码: let a= 5.2 ; let b = 3.1 ; let sum= a + b ; // sum 的值为 8.3 alert (sum) ; -: 减法运算符 例如如下代码: let c = 5.2 ; let d = 3.1; let sub= c - d ; // sub 的值为 2.1 alert (sub) ; *:乘法运算符 例如如下代码: let e = 5.2 ; let f = 3.1 ; let product=e * f; // product 的值为 16.12 alert (product) ; /: 除法运算符。例如如下代码 let m = 36 ; let n = 9; let div= m / n; // div 的值为 4 alert (div) ; %: 求余运算符 例如如下代码: let x = 5.2 ; let y= 3.1; let mod= x % y; //mod 的值为 2.1 alert(mod); ++: 自加 这是个单目运算符,运算符既可以出现在操作数的左边,也可以出现在操作数的右边。当++在变量的右边时,程序先用变量的值参与计算;当++在操作数的左边时,先执行自加,然后再执行算术运算。 - -:自减,这也是个单目运算符,效果与++基本相似,只是将操作数的值减 1 。 JavaScript 并没有提供其他更复杂的运算符,如需要完成乘方、开方等运算,可借助于Math 类的方法完成复杂的数学运算,见如下代码 <script type="text/javascript ">
//定义变量a为 3.2
let a= 3 . 2;
//求a的5次方,并将计算结果赋给b
let b = Math.pow(a, 5);
//输出b的值
alert (b);
//求a的平方根,井将结果赋给
let c = Math sqrt(a);
//输出c的值
alert(c);
// 计算随机数
let d =Math . random();
//输出随机数d的值
alert (d);
</script>
位运算符 JavaScript 支待的位运算符与 Java 支持的位运算符基本相似,大致有如下7个位运算符。 &: 按位与 | :按位或 ~: 按位非 ^: 按位异或 <<: 左位移运算符。 >>: 右位移运算符 >>>: 无符号右移运算符。 <script type= text/javascript>
// 输出5 & 9 和 5|9 的值
aler (5 & 9) + "==>" + (5 | 9)) ;
//输出-5异或和5异或的值
alert(~-5 + "==>"+~5);
</script>
执行结果先弹出 1==>13 再弹出 4==>-6 则5&9 的结果是 1, 5 I 9 结果是13。 5的二进制码是 00000101, 9的二进制码是 00001001。位运算过程如图
加强的赋值运算符 赋值运算符可以与算术运算符、位运算符等结合,从而成为功能更加强大的运算符。结合后的加强运算符如下 += :对于 x+=y ,即对应于 x=x+y -=: 对于 x-= ,即对应于 =x -y *=: 对于 =y, 即对应于 x=xy /= : 对于 x/=y ,即对应于 = x/y %=; 对于 x%=y, 即对应于 x=x%y &=: 对于 x&=y ,即对应于 x=x&y |=; 对于 x|=y ,即对应于 =x I y ^=: 对于x ^&= y, 即对应于 x=x ^ y <<=: 对于 x<<=y, 即对应于 =x << y >>=: 对于 x >>=y, 即对应千 = X >> y >>>=: 对于 x>>>= ,即对应于 x=x>>>y 归纳起来,所有的双目运算符都能与赋值运算符结合,从而成为功能更加强大的运算符。 比较运算符 比较运算符用于判断两个变量或常量的大小,比较运算的结果是一个布尔值。 JavaScript支持的 比较运算符如下 >: 大于,如果前面变量的值大千后面变量的值,则返回 true >=: 大于等于,如果前面变量的值大于等于后面变量的值,则返回 true <: 小于,如 果前面变量的值小千后面变量的值,则返回 true <=: 小于等于,如果前面变量的值小于等千后面变量的值 ,则返回 true !=: 不等于,如果前后两个变量的值不相等,则返回 true ==: 等于,如果前后两个变量的值相等,则返回 true !==: 严格不等于,如果前后两个变量的值不相等,或者数据类型不同,都将返回 true ===: 严格等于,必须前后两个变量的值相等,数据类型也相同,才会返回 true 后面的严格等于、严格不等于 与普通等于、普通不等于的区别在于是否支持自动类型转换。 <script type= text/javascript>
//判断5是否等于"5"
alert(5 == "5");
//判断5是否严格等于"5"
alert(5 === "5");
</script>
“5“ 本来是个字符串,但在需要时, “5"可以自动转换成数值型因此由于自动类型转换的缘故, 5="5“ 将返回 true。而5 === “5” 一个是number 一个是string则返回false。 逻辑运算符 &&: 与,必须前后两个操作数都为 true 才返回 true, 否则返回 false II:或,只要两个操作数中有一个为 true 就可以返同 true, 否则返回 false !: 非,只操作一个操作数,如果操作数为 true, 则返回 false; 如果操作数为 false,返回 true 三元运算符 三元运算符只有一个"?:",三元运算符的语法格式如下: (expression) ? if-true-statement : if-false-statement; 1 三元运算符的运算规则是:先对逻辑表达式 expression 求值,如果逻辑表达式返回 true,执行第二部分的语句;如果逻辑表达式返回 false, 则返回第三部分的语句 逗号运算符 逗号运算符允许将多个表达式排在一起,整个表达式返回最右边表达式的值 。看下面的代码。 <script type="text/javascript”>
//声明变量 a, b, c, d
let a, b , c , d ;
//使用逗号运算符为a赋值 最右边的表达式为 56, 因此a的值为 56
a= (b = 5, c = 7, d = 56);
//输出四个变量的值
docurnent . write('a =' + a +'b ='
+ b + 'c=' + c + 'd=' + d);
</script>
输出结果为 a=56 b=5 c=7 d=56 void 运算符 void 运算符用于强行指定表达式不会返回值 <script type="text/javascript">
//声明变量 a,b c,d
let a , b , c, d;
//虽然最右边的表达式为 56
//但由于使用了 void 强制取消返回值,因此a的值为 undefined
a = void(b = 5, c = 7, d = 56);
//输出四个变量的值
document .write( ' a ='+a+'b ='
+ b + ' c = ' +c t ' d = ' + d);
</script> |
|