JavaScript中的运算符

运算符:程序中模拟人的思维运算或判断的符号

程序:让计算机按照人的想法去执行任务

运算符的分类:


运算符的优先级:


取余运算

取余运算的使用途径:

1.判断奇偶数:n%2-->1为奇数,0为偶数

2.确保一个运算的结果,不超过某个最大值(除数)

算数运算

++/--运算

n++ (n--同理) :将当前变量中的值递增一,等价于n=n+1;

n++与++n的区别:

单独使用:n++与++n一样

参与到其他运算中:

n++:将n中的值加1,然后返回旧值

++n:将n中的值加1,然后返回新值

例1:

var n=3;
console.log(n++);  //n中值加一,返回3
console.log(++n);  //n中值加一,返回4
例2:

var my=10;
var lp=my++;
document.write(my);   //my加1为11
document.write('<br />');
document.write(lp);   //lp加1,返回10
var my=10;
var lp=++my;
document.write(my);   //my加1为11
document.write('<br />');
document.write(lp);   //lp加1,返回11

例3:
var n=2;
var r=(n++) + (++n) + (n++);
document.write(r);    //10
document.write('<br />');
document.write(n);    //5

解析:n-->2

          n++-->n=3  返回2   和为 2

          ++n-->n=4 返回4   和为6

          n++--->n=5 返回4  和为10

故:r=10,n=5

关系运算

关系运算:将两个值做比较:> < >= <= == !=  ===   !==

隐式转换:将所有类型都转为number类型,在比较。比较式成立为true,不成立为false

例如:

var n1=2,n2=3;
var s1="2",s2="3";
var b1=true,b2=false;
document.write(n1>n2); //false
document.write('<br />');
document.write(s1<s2);  //true
document.write('<br />');
document.write(b2>b1); //false

特殊情况3种:

1.两字符串做比较:依次PK每一位字符的Unicode编号,只要有一位字符分出大小,就不再比较;

比如: "3">"10"-->"3">''1''--->51>49(Unicode编号)-->true

       ''smith''>''scott''--->''m''>''c''-->100>99(Unicode编号)-->true

2.NaN:NaN和任何数据做大小或等于比较永远返回false

            NaN和任何数据做不等式比较永远返回true

           既,NaN不等于任何数,也不等于它本身

isNaN(num):专门判断num是否是NaN,是返回true,不是返回false

所以:如果判断一个数值是否是数字或能被转化为数字,都用isNaN.如果是数字,返回false,否则返回true

故常用为:!isNaN(num),则与实际理解相符。

3.undefined和null

Number(undefined)-->NaN

Number(null)--> 0

===:全等:数据类型相等 ,再比较值是否相等

何时使用:只要不希望关系运算中自动隐式转换

逻辑运算

逻辑运算:综合多个关系运算的结果得出最终结论,返回值只能在TRUE和FALSE中二选一。

隐式类型转换:自动将每个条件转为Boolean类型

&&:关系运算一TRUE&&关系运算二TRUE--》TRUE  否则 FALSE

||: 关系运算一FALSE||关系运算二FALSE--》FALSE 否则 TRUE

!: 关系运算TRUE--》关系运算FALSE

*****短路逻辑:如果前一个条件已经可以得到结论,后续条件不在比较

var input=parseFloat(prompt("please input:"))
input>=500&&(input=input*0.8);
alert("It is "+input );
*****利用&&短路逻辑实现if语句
var input=prompt("请输入回复:");
input!=" "||(input="主人很懒什么都没有留下");
 alert("回复:"+input);
*****利用||短路逻辑实现if语句

位运算

左移:n<<m   将n的二进制左移m位

例如:1<<3  -->1* 2的3次方  为8

右移:n>>m   将n的二进制右移m位

例如:8<<3  -->8/2的3次方  为1


扩展赋值运算

+=     -=   *=   /=   %=   (同理)

+=:例如:n+=2----->n=n+2;

相当于将n中的值+2后,在保存回n中

对于变量的值进行累加时,都可以用扩展赋值运算。

三目运算

三目运算:根据不同的条件,多选一,返回不同的结果。

语法:条件1?值一:

          条件2?值二:

          ·······?·····:

         默认值;

例如:

var salary=prompt("输入工资:");
alert(salary>=20000?"土豪":
salary<8000?"屌丝":
"一般人");


         

  

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript 的赋值运算符有以下几种: 1. 等号赋值运算符(=):将右侧的值赋给左侧的变量。 2. 加等于赋值运算符(+=):将右侧的值加到左侧的变量上,并将结果赋给左侧的变量。 3. 减等于赋值运算符(-=):将右侧的值从左侧的变量减去,并将结果赋给左侧的变量。 4. 乘等于赋值运算符(*=):将右侧的值乘以左侧的变量,并将结果赋给左侧的变量。 5. 除等于赋值运算符(/=):将左侧的变量除以右侧的值,并将结果赋给左侧的变量。 6. 取模等于赋值运算符(%=):将左侧的变量对右侧的值取模,并将结果赋给左侧的变量。 7. 左移等于赋值运算符(<<=):将左侧的变量向左移动右侧的位数,并将结果赋给左侧的变量。 8. 右移等于赋值运算符(>>=):将左侧的变量向右移动右侧的位数,并将结果赋给左侧的变量。 9. 无符号右移等于赋值运算符(>>>=):将左侧的变量向右移动右侧的位数,无符号地填充左侧的变量,并将结果赋给左侧的变量。 10. 按位与等于赋值运算符(&=):将左侧的变量与右侧的值进行按位与操作,并将结果赋给左侧的变量。 11. 按位异或等于赋值运算符(^=):将左侧的变量与右侧的值进行按位异或操作,并将结果赋给左侧的变量。 12. 按位或等于赋值运算符(|=):将左侧的变量与右侧的值进行按位或操作,并将结果赋给左侧的变量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值