day5(Javascript)

  1、数据类型

  分原始类型和引用类型

  原始类型分为数值型、字符串型、布尔型、未定义型(undefined)、null  

    1.数值型

     分为整型和浮点型

     整型在内存占4个字节,浮点型占8个字节

     整型分为8进制(0开头)、10进制、16进制(0x开头)

     浮点型分为指数型和普通

      2.147e9

    2、字符串类型

    数据备引号锁包含就是字符串类型,不区分单双引号。

    查看某一个字符的Unicode编码

      't'.charCodeAt()

    3、布尔型

    在程序中表示 或者

    true/false

    常用于一些是否的结果

    isVip、isOnsale、isLogin

    4、未定义型

    声明了一个变量,未赋值结果是undefined

    5、空(null)

    用于引用数据类型

    检测数据类型

      typeof()   

   number/string/boolean/undefined/object

2、数据类型转换

  (1)隐式转换

    ①数字+字符串:数字转成字符串

      1+'a' //'1a' 

    ②数字+布尔型:布尔型转成数字  true-->1  false-->0

      1+true  //2

      1+false //1

    ③字符串+布尔型:布尔型转成字符串

      'a'+true  //'atrue' 

    ④null 的加法

      1+null  //1    null--0

      true+null  //1  true--1  null--0

      'a'+null  //'anull'    null--'null'

  练习:

    var num1=3,num2=true,num3='hello'

    console.log(num1+num2+num3);  //'4hello'

    console.log(num2+num3+num1);  //'truehello3'

    console.log(num3+num1+num2);   //'hello3true'

    - * / 执行运算

      尝试将符号两端的数据转成数值型(自动调用Number),如果无法转换,结果返回NaN(Not a Number)

    console.log(1-'2');

    console.log(2*'3');

    console.log(3/'2');

    console.log('1'-'a');// NaN

    总结:+的作用

      执行加法运算;执行字符串的拼接。

  (2)强制转换

    ①将数据转成数值型

     Number()

     将任意的数据转换成数值型,如果被转换的字符串中含有非数字,则返回NaN;布尔型会转成数值型。

    ②将数据转换成整型

     parseInt()

     parseInt(‘1.5’)//1

     查看数据的开始是否为数字,遇到非数字则返回前边的数字。   

    ③将数据转成浮点型

     parseFloat()

练习:‘1.5a’,‘7.1a’,‘a2.3’  

    ④将数据转换成字符串

     toString()

      var pi=3.14;
      pi.toString();

3、运算符和表达式

  由运算符连接的操作数据,所组成的形式成为表达式

  (1)算术运算符

    +   -  *  /  %  ++  --

    %取余

    ++自增,在原来的基础之上+1

    --  自减 ,在原来的基础之上-1

      console.log(a++);先打印a的值,然后再自增

      console.log(++a);先自增,然后再打印a的值

练习:

  var a=3;

  console.log(a++ + ++a);

  a++先获取a的值(3),执行自增,a=4

  ++a先让a执行自增(5)然后再获取a

  var b=5;

  console.log(--b + b--);

  --b先让b执行自减(4),获取b的的值(4)

  b--先获取b的值(4),然后再执行自减

  (2)比较运算符

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

    返回的结果是布尔型的值

    == 只是比较两个数据的值是否相同

    ===  不仅比较数据的值,还比较两个数据的类型是否相同

    3>'10'

    数字和字符串比较,字符串转成数值型

    '3'>'10'

    两个字符串比较,比较的是Unicode码 首字母相同则向下比较

    

    console.log(3>'10a');
    console.log(3<'10a');
    console.log(3=='10a');  

      NaN和任何的数字比较(> < >= <= == ===)返回false

      NaN==NaN  返回false

  (3)逻辑运算符

    ||  或者  &&  并且    非!

      ||关联的两个条件只需要满足其一,结果就是true,否则false

      &&  关联的两个条件都满足结果是true 否则false

      !取反

    逻辑短路

    ||当第一个条件为true的时候,就不需要执行第二个条件

    &&当第一个条件为false的时候,就不需要执行第二个条件

练习:下边的代码是否会报错

    var a=3;

    a>5 &&  console.log(ename);

  (4)位运算符

    将数据转成二进制然后执行运算

    按位与(&) 上下两位都是1,结果是1,否则是0

    按位或(|)  上下两位含有1,结果是1,否则是0

    按位异或(^)上下两位相同是0,不同是1

    按位右移(>>)删除二进制的最后n位,大概变小到原来的一半

    按位左移(<<)在二进制的最后添0,变大到原来的一倍

  (5)赋值运算符

    =  +=  -=  *=  /=  %=

    在原来的基础之上进行加减乘除取余

    x+=3;

    

    

posted @ 2019-10-26 20:08  无双灬灵  阅读(154)  评论(0)    收藏  举报