JavaScript初级知识(3)

1. 数据类型转换

1.1其他类型转为数字类型

1.1.1强制转换

           Number(参数)函数

           ''输出0   '  '输出0   null输出0   false输出0   undefined输出NaN  '数字+字母'输出NaN

 console.log(Number(''),Number(''),Number(null),Number(false),Number(undefined),Number('1231bhi'));

           

           parseInt(参数) 整数

           parseFloat(参数)  浮点数(小数)

           针对'数字'和'数字+字母'这两种类型,其他的输出都为NaN

      let a1='12'
      a1=parseInt(a1);
      console.log(a1,typeof a1);
      let a3='12hell0'
      a1=parseFloat(a1);
      console.log(a1,typeof a1);

1.1.2隐式转换

           +'数字'  '数字'*1  '数字'/1  '数字'-1  (加法运算无法转换数字类型)

      console.log(''+12321);

1.2转换为字符串类型

1.2.1 强制转换

          String(变量)   所有都能转换

          变量.toString()  null和undefined没有此方法

 let  c=123
      console.log(String(c));
      console.log(c.toString());

1.2.2 隐式转换

          变量+'你好'(拼接转换为字符串)

      console.log(c+'44');

1.3转换为布尔型(Boolean)

        Boolean(变量)     输出结果为true或false

        只有六个符号输出false

        ' '   null   undefined   false   NaN    0  

console.log(Boolean(''),Boolean(0),Boolean(false),Boolean(NaN),Boolean(null),Boolean(undefined));

2.运算符的使用

2.1 算术运算符

            +    -    *    /    %(取余)

            ++ 自增    -- 自减

            前置:先运算,后赋值;后置:先赋值,后运算

            +(正)  -(负)

 var a = 10,b=2; 
 a= a++ + --a - b-- + a++ + ++b - --a - a-- + a++ + -- b 
 console.log(a,b)

        输出结果为:  20 1

2.2 比较运算符(关系运算符)

           >  >=   <  <=  ==(判断是否等于,会转换数据类型)  ===(判断是否全等于,不转换数据类型)

                !=(不等于)   !==(不全等)

        console.log('5'==5);//true  判断是否等于,会转换数据类型
        console.log('5'===5);//false   判断是否全等于,不转换数据类型
        console.log('5'>15);//false     会转换数据类型,但是5<15;
        console.log('5'>='15');//true  两边都是字符串,比较asciii码,一位一位的比;
        console.log('5'!=5);//false  会转换数据类型
        console.log('5'!==5);//true  会转换数据类型
        console.log(NaN==NaN);//false  NaN和谁都不等
        console.log(null==0,null>-1);//false   true  null在运算中默认为0
        console.log('hello'>'world');//false    比较ascii码
        console.log(null==undefined);//true  相等

2.3 逻辑运算符

            &&(与)  

            两边都是true才返回true ,否则返回false.

            如果第一个返回值是假,后面不再执行,直接返回第一个操作结果,可能是false也可能是原值

            如果第一个返回值是真,由第二个操作数来决定结果.

            只有直接输入true或false,或者通过比较得到的返回值才会在最后输出true或false        

        console.log(true&&false);//false  
        console.log(true&&8>5);//true  
        //特殊情况
        console.log(true&&'hello');//hello
        console.log(true&&'hello'*2);//NaN
        console.log(true&&8);//8
        console.log(false&&8);//false
        console.log(undefined&&8);//undefined
        console.log(null&&8);//null
        console.log([]&&8);//8

            ||(或)

            两边都为false才返回false ,否则都为true

             !(非)

             逻辑非(!)也叫作取反符,用来取一个布尔值相反的值,如true的相反值是false

2.4 赋值运算符

        =  +=  -=  *=  /=  %=

2.5 条件运算符

        ?  :

        条件表达式 ? 条件成立的返回的值1 :条件不成立的返回值2

        判断工资是否大于7000,如果大于7000,应交税7000*0.12,否则胶水工资*0.12

        let offer=prompt('请属入你的工资');
        let jiaoshui=offer>7000?7000*0.12:offer*0.12;
        alert(jiaoshui);

2.6 运算符优先级

        下表按从最高到最低的优先级列出JavaScript运算符。具有相同优先级的运算符按从左至右的顺序求值。

运算符

描述

. [] ()

字段访问、数组下标、函数调用以及表达式分组

++ -- - ~ ! delete new typeof void

一元运算符、返回数据类型、对象创建、未定义值

* / %

乘法、除法、取模

+ - +

加法、减法、字符串连接

> >>>

移位

< >= instanceof

小于、小于等于、大于、大于等于、instanceof

== != === !==

等于、不等于、严格相等、非严格相等

&

按位与

^

按位异或

|

按位或

&&

逻辑与

||

逻辑或

?:

条件

= oP=

赋值、运算赋值

,

多重求值

作者留言

        其中的内容与c语言有不少的相似之处,知识很碎,有c语言基础的可以根据c语言进行部分知识的记忆,代码要经常打才能保证知识的记忆以及手法的熟练,记得勤加练习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值