JS的数据类型 & 运算符一

JS数据类型:
  • 概念:
    什么是数据类型?
    数据类型就是将数据进行分类,分成几种不同的类型。
    分类:
    • 原始数据类型;
    • 包装类型;
    • 引用类型;
    • 特殊类型
  • 字符型
  • 数字类型
    • NaN——not a number(不是一个数字)
      • 与任何值都不相等,包括自身。
    • isNaN()判断是否是NaN
      • 结果:true&false;
  • 布尔类型
    • 只有两个值——true&false;
    • 作用——一般用于开关





原始数据类型:

提供了string、number和boolean类型
如何进行判断?typeof关键字

  • typeof关键字
    • 作用——可以用来判断当前值的类型;
    • 注意——typeof只能当前值的原始类型。
    • typeof 两个及两个以上 typeof 返回值是一个 字符串类型 “string”。
  • instanceof 关键字

    • 作用——类似于typeof关键字。用来判断当前值的类型;
    • typeof判断原始数据类型;
    • instanceof——判断包装类型。
    • 语法结构
      • 当前值(变量) instanof 包装类型的名称
      • 结果
        • true——说明当前值是指定的包装类型;
        • false——说明当前值不是指定的包装类型
          面试题:typeof和instanceof的区别?
          答:三个不同一个相同。
  • 包装类型

    • String
    • Number
    • Blooean

总结——原始数据类型与包装数据类型的关系:原始数据类型是包装数据类型的实例对象。

特殊类型:
undefined

  • 含义——未定义;
  • undefined既是值,也是一个类型,undefined值中只有一个值——undefined。
  • 得到undefined的情况:
    • 只声明,但不赋值;
    • 声明也赋值,值为undefined;
    • 函数中不明确指定return——undefined-函数内容;
    • 访问一个对象不存在的属性——undefined-对象内容。
      返回undefined的情况

null

  • 含义——空
  • null是什么类型?object
    • null值是object(对象)的一个特殊值
    • 注意:null并不是一个类型,而是一个值。
    • null==undefined两者是相等的。
    • null或undefined与其他数据类型比较都不相等.
  • null与undefined之间的相同和不同点:
    • 共同点:null和undefined都代表空
    • 不同点:
      • null是object类型,存在,不指向任何值。
      • undefined是undefined类型,存在,但是没值。
      • typeof(null);结果是object!typeof(undefined);结果是undefined!
  • 作用:null常用的一个作用是:释放资源!

面试题:null和undefined的共同点和不同点是什么?

类型转换

  • 隐式类型转换:没有明确的转换方式

    • 转换成字符串:”“+值=字符串;
    • 转换成number类型:+值=数字值;
      • 结果:转化数字之后的答案只有,要么是数字,要么是NaN.
      • 字符串的文本内容是数字值——成功地转换为数字值。
      • 字符串的文本内容是文本值——转换成NaN.
      • 字符串内容是”“的话——转换成0.
      • Number();转化
        NaN转化后NaN;
        null转化后为0;
        undefined转化后为NaN.

        对象–> 数字:
        {}.toString() –> “[object Object]” –> NaN
        [].toString() –> “” –> 0
    • 转换成布尔值:!!值=布尔值;
      • 结果:只有false和true!
      • 注意:转换成布尔值结果为false的五种:"",NaN,0,undefined,null.其余全是true
    • 注意:在实际开发中,隐式转换是类型的自动转换机制。
  • 显示类型转换:有明确的转换方式

    • 转换成字符串;——String();
      • 提供了一个转换方法——toString();
      • 注意:在null和undefined中没有toString()方法,所以如果对这两个值调用toString()会报错!
      • 注意将数字使用该方法转化成字符串时的方法,如果是数字值不能直接调用,先定义数字值的变量,再通过该变量调用toString();
    • 转换成数字值;——Number();
      • 整型——parseInt();
      • 浮点型——parsefloat();
    • 转换成布尔值;——Bollean();

运算符

算术运算符

  • 求余运算符:第一个计算值%第二个计算值
    • 当第一个计算值为负值时——求余后得值就是负值;
    • 当第一个计算值为正值时——求余后得到的值就是正值。
  • 自增(减)运算符
    • ++自增运算符——每次增加1;a++先赋值再自加,++a先加再复制。
    • –自减运算符——每次减1。
  • 算术运算符的优先级别
    • 第一级别—— ++ 和 – .
    • 第二级别—— * 和 /。
    • 第三级别—— + 和 -。
    • 注意:自增或者自减运算符,被应用在复杂的计算表达式中,结果会报错。所以我们先将需要自增或者自减的值赋值给一个变量。

比较运算符

  • 相等与不等
    • 只是完成值的判断,和数据类型无关。
  • 全等与全不等
    • 既判断值,也判断类型。
    • 场景——一般用于number类型值判断

逻辑运算符

  • 逻辑与运算符&&
  • 逻辑或运算符||
  • 逻辑非运算符!!

逻辑短路原则:
逻辑短路问题

赋值运算符

  • “=”定义变量时,进行赋值
  • 特殊写法:
    • +=:A+=B——A=A+B
    • -=
    • *=
    • /=
    • %=
  • 好处——性能好

字符串连接符(+)

  • 当运算表达式中,有一个或两个是字符串时-(+)表示连接符;
    • 结果——将两个字符串进行拼接
    • 注意——如果只有一个是字符串,另一个不是字符串
      • 数字值或布尔值,都将其一样转化成字符串,再进行拼接。
  • 注意:只有出现字符串时,“+”叫做连接符,执行的是拼接字符串;只要没有字符串,“+”都叫做加法计算,值先转换成布尔值再进行计算。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值