JS中的运算符一

- 运算符
- 运算符也称为操作符

- 通过运算符可以对一个或多个值进行运算或操作


- typeof运算符
- 用来检查一个变量的数据类型
- 语法:typeof 变量

- 它会返回一个用于描述类型的字符串作为结果

                            var a = 123;

                            var result = typeof a;

                            console.log(result);//number

    console.log(typeof result);//string


- 算数运算符

                        当对非Number类型的值进行运算时,会将这些值转换为Number然后在运算
  任何值和NaN做运算都得NaN

+ 对两个值进行加法运算并返回结果
对两个值进行减法运算并返回结果
* 对两个值进行乘法运算并返回结果
/ 对两个值进行除法运算并返回结果
% 对两个值进行取余运算并返回结果

- 除了加法以外, 对非Number类型的值进行运算时,都会先转换为Number然后在做运算
- 而做加法运算时,如果是两个字符串进行相加,则会做拼串操作,将两个字符连接为一个字符串。

- 任何值和字符串做加法,都会先转换为字符串,然后再拼串

                            var d = "123";

                            d = d - 0;

                            console.log(typeof d);//number

    console.log(d);//123


                 -一元运算符
- 一元运算符只需要一个操作数
- 一元的+
- 就是正号,不会对值产生任何影响,但是可
以将一个非数字转换为数字
- 例子:
var a = true;
a = +a;//1

- 一元的-
- 就是负号,可以对一个数字进行符号位取反
- 例子:
var a = 10;

a = -a;


                逻辑运算符
!
- 非运算可以对一个布尔值进行取反,true变false false边true
- 当对
非布尔值使用!时,会先将其转换为布尔值然后再取反

- 我们可以利用!来将其他的数据类型转换为布尔值

                        var b = 10;
b = !!b;
//true


&&
- &&可以对符号两侧的值进行与运算
- 只有两端的值都为true时,才会返回true。只要有一个false就会返回false。

- 与是一个短路的与,如果第一个值是false,则不再检查第二个值

                            //第一个值为true,会检查第二个值
    true && alert("看我出不出来!!");
    //第一个值为false,不会检查第二个值
    false && alert("看我出不出来!!");

- 对于非布尔值,它会将其转换为布尔值然后做运算,并返回原值

                            var result = 5 && 6;//6
    result = NaN && 0;//NaN
    result = 0 && NaN;//0

- 规则:
1.如果第一个值为false,则返回第一个值

2.如果第一个值为true,则返回第二个值

                    


||
- ||可以对符号两侧的值进行或运算
- 只有两端都是false时,才会返回false。只要有一个true,就会返回true。
- 或是一个短路的或,如果第一个值是true,则不再检查第二个值

- 对于非布尔值,它会将其转换为布尔值然后做运算,并返回原值

 var result = 2 || 1;//2

                          result = NaN || 1;//1

- 规则:
1.如果第一个值为true,则返回第一个值

2.如果第一个值为false,则返回第二个值


            关系运算符
- 关系运算符用来比较两个值之间的大小关系的
>
>=
<
<=
- 关系运算符的规则和数学中一致,用来比较两个值之间的关系,
如果关系成立则返回true,关系不成立则返回false。

- 如果比较的两个值是非数值,会将其转换为Number然后再比较.

                    任何值和NaN做任何比较都是false.

                    console.log(10 <= "hello"); //false
    console.log(true > false); //true

                    console.log(1 > "0"); //true

- 如果比较的两个值都是字符串,此时会比较字符串的Unicode编码,而不会转换为Number。

                        console.log("a" < "b");//true
//比较字符编码时是一位一位进行比较
//如果两位一样,则比较下一位,所以借用它来对英文进行排序

console.log("abc" < "bcd");//true

                        console.log("111222255" < "5");//true

                        console.log("111222255" < +"5");//false

                        



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值