js运算符

 

①运算操作符

a. “+”

 

第一个作用是两个Number的数字相加

 

第二个作用是任何东西加字符串都等于字符串

 

b. - * / % = ()

 

// 特殊的除法

0/0

// 结果为NaN

1/0

// 结果为Infinity

0/1

// 结果为0

 

- * / % = ()的优先级

()的优先级最高 = 的优先级最低

备注:Infinity不可能传给后端,Infinity要先变成字符串,再传给后端,后端进行解析

 

c. ++ -- += -= *= /= %=

 

let c = c + 1; 等价于 let c += 1; 

let a = 10;

let b = ++a - 1 + a++;

document.write(b + "" + a);

// 执行结果:b = 11 -1 + 11; a = 10 + 1 + 1 = 12

// ++a 是a先加 a++ 是a后加

// 小栗子 

如果让let a = 123, b = 456;中的a和b互换值

 

a = a + b;

b = a - b;

a = a - b;

②比较运算符

> < == >= <= != 

 

// 小栗子

var a = 'a' > 'b';

document.write(a) // 输出为false

reason: 字符串比较的是Ascll码,其中a的的ascll码 小于b的ascll 'a' = "A" + 32 = 113 ; 'A' = 81

 

 

//根据上面的结论再来一个 小栗子

var a = '10' > '8'

document.write(a) // 输出为false

reason:先是'1' 跟'8'比较,小于,直接返回false, 否则一直比下去返回值

 

// 特殊规则

a = 1 == 1; 输出为true

a = undefined == undefined 输出为true

a = undefined == null 输出为true

a = Infinity == Infinity 输出为true

a = NaN == NaN 输出为false == > NaN不等于任何东西,一急眼自己都不认识

③逻辑运算符(重点)

&& || !

&& ===> 会先看&&前面的表达式转换为Boolean,如果只有两个表达式的话,第一个为false,那么直接返回第一个值的结果,否则直接返回第二个值的结果。

// 碰到假就停下返回

// 小栗子 (&& 可以当做短路来判断逻辑)

var a = 1 && 2 + 2; 输出的结果为4

var a = 0 && 2 + 2;输出的结果为0

2 > 1 && document.write('你真棒') 输出的结果是'你真棒';

 

 

 

|| ===> 如果只有两个表达式的话,如果第一个值是true, 那么直接返回第一个值的结果,否则返回第二个值的结果

// || 碰到真就返回

 

! ===> 取反 把这个东西转换为Boolean取反再取反

// 小栗子

var data = {};

var a = !! data;

document.write(a); 输出为true

5.条件语句

if ,if else

// if 和 && 的转换小栗子

if( 1 > 2) {

    document.write('a');

}

等价于

1 > 2 && document.write('a');

  switch case 

// 根据浏览器端输入的值的不同执行不同的操作

let n = parseInt(window.prompt('input'));

switch(n) {

    case 'a': 

        console.log('a');

        break;

    case 'b': 

        console.log('b');

        break;    

    case 'c':

        console.log('c');

}

条件语句中的continue 和 break

// continue 

for(var a = 0; a < 100; a++) {

    if(a % 7 === 0 || a % 10 === 7) {

        continue;

    }

    console.log(a);

}

// for循环中如果a逢7或是7的倍数那么跳出本次循环,输出其他的小于100的数字

 

// break

// 判断今天输入的date是星期几

let date = parseInt(window.prompt("input"));

switch(date) {

    case "monday": 

    case "tuesday": 

    case "wednesday": 

    case "thursday": 

    case "friday":

        console.log("工作日"); 

        break;

    case "monday": 

    case "sunday":

        console.log("休息日");

}

 

// 上述程序如果没有break,会一直走完case "sunday"

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值