js数据类型、运算符、流程控制知识点总结

数据类型

1.数据类型简介

  1. 为了便于把数据分成所需内存大小不同的数据,充分利用存储空间
  2. 数字型:数字(不能用引号)
  3. 八进制:var num=010(数字前面加0,表示八进制)
  4. 十六进制:var num=0x9(数字前面加0x表示十六进制)
  5. 最大值:Number.MAX_VALUE,这个值为: 1.7976931348623157e+308
  6. 最小值:Number.MIN_VALUE,这个值为:5e-32(点代表Number数字的最大值/最小值)
  7. Infinity ,代表无穷大,大于任何数值
  8. -Infinity ,代表无穷小,小于任何数值
  9. NaN ,Not a number,代表一个非数值(使用isNaN()来判断是否是数字,如果是数字,返回false;如果不是数字,返回true。)要注意判断的是数据,是值,不是数据类型。
  var age=18;
    var b='18';
    console.log(isNaN(age));
    console.log(isNaN(b));
    它们的返回值都是false
  1. 字符串型:不管什么文本(字母,汉字,下划线,美元,只要加单引号)出现两个引号时,就近原则----内单外双 内双外单。注意:加上转义符就可以存在两个相同的引号。
  2. 字符串转义符:转义符都是 \ 开头的
转义符解释说明
\n换行符,n 是 newline 的意思
\ \斜杠 \
\’单引号
\"双引号
\ttab 缩进
\b空格
  1. 字符串长度(length 属性,数字不能使用该属性。还可以倒着推出来是否为字符串)
  var str = '啦啦啦啦啦啦啦'; // var 变量名='文本';
      console.log(str.length);// console.log(变量名.length)
      //显示7
  1. 字符串拼接
- 步骤:先把要改的值删去,给引号(与最外层的引号保持一致),在引号之间给俩加号,最后把变量扔到加号之间。
- 拼接前会把与字符串相加的任何类型转成字符串,再拼接成一个新的字符串
- 多个字符串之间可以使用 + 进行拼接,其拼接方式为 字符串 + 任何类型 = 拼接之后的新字符串
- +用在字符串拼接时,左边或者右边必须有一边是字符串型
- 字符串和变量来拼接,变量可以很方便地修改里面的值,变量是不能添加引号的,因为加引号的变量会变成字符串
   console.log('小李' + 18);           // 只要有字符就会相连 
      var age = 18;
      // console.log('小李age岁啦');       // 这样不行哦
      console.log('小李' + age);          // 小李18
      console.log('小李' + age + '岁啦');  // 小李18岁啦
      
  + 号总结口诀:数值相加 ,字符相连
  1. 布尔型boolean:所有的都可以转换成布尔型,俩值 true(值为1)和false(值为0)在定义一个boolean类型的变量时,经常使用flag:为变量名 。
    只有五种情况会转换成false
  2. 空字符串 (引号里面不能加东西)
  3. 0(数字型的0)
  4. undefined(不加引号,加引号就变成了true)
  5. null(不加引号)
  6. NaN(not a number)
  7. undefined型:没有返回值的函数返回为undefined,没有实参的形参也是undefined。
    只声明没赋值 ,直接赋值undefined。
  8. null型 : null它是一个空对象指针,和其它语言一样都是代表“空值”
    给变量设置成null时, var nl=null; prompt 点击取消,返回值为null
    null 和 undefined 都表示“值的空缺”,你可以认为undefined是表示系统级的、出乎意料的或类似错误的值的空缺,而null是表示程序级的、正常的或在意料之中的值的空缺。

2.判断数据类型:

1.纯数字 浮点数
2.字符串 带引号
3.true或者false
4.undefined
5.null
6.控制台:数字型—蓝色 字符串-----黑色 布尔型-------深蓝色
7.typeof 用来判断数据类型:var c = 20; typeof c
var age2 = prompt(‘请输入年龄’);
console.log(typeof age2);
控制台得到的是:string

   var c = true;
   console.log(typeof c);
    控制台得到的是:boolean

3.为什么要进行数据类型转换

  • 使用表单、prompt 获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算,而需要转换变量的数据类型。

4.其他类型转换成字符串类型

  1. 用+号 拼接上一个空字符串(“”空字符串 “ ”空格字符串)⭐
  2. 通过toString() 用法: 变量.toString() ⭐
    var age = 15;
    console.log(age.toString());
  3. 通过String方法 用法: String(变量)
    var num = 25;
    console.log(String(num));

5.其他类型转换成数字类型⭐

  1. 通过parseInt进行转化(必须是以数字开头,true直接使用parseInt转化成NaN,取整,小数点后面省去)
    var str = ‘bsh’;
    console.log(typeof parseInt(‘bsh’));
    控制台得到的是 number

    var  str = 'bsh';
    console.log(parseInt(str));
    控制台得到的是 NaN
    
  2. 通过 parseFloat(必须以数字开头,true直接用它转换成NaN,取浮点数)

  3. 通过Number(只能对值为纯数字的时候进行转换,并且保留浮点数) 要求字符串的值必须是一个数值

  4. 隐式转换:+ - * / 要求字符串的值必须是一个数值

  5. 当字符串比较大小的时候,会从左右到右依次比较。所以需要把输入的字符串变成数字类型。

6.其他类型转换成布尔类型

  • 代表空、否定的值会被转换为 false ,如 ‘’、0、NaN、null、undefined***

  • 其余值都会被转换为 true

    console.log(Boolean(’’)); // false·
    console.log(Boolean(0)); // false
    console.log(Boolean(NaN)); // false
    console.log(Boolean(null)); // false
    console.log(Boolean(undefined)); // false
    console.log(Boolean(‘小白’)); // true
    console.log(Boolean(12)); // true

运算符

JavaScript中常用的运算符有:

  • 算数运算符
  • 递增和递减运算符
    • 前置++ 是先让元素自增1 然后再做运算。
    • 后置++ 是先做运算 在让元素自增1
      var a = 10;
      var b = 20;
      var c = 30;
      var d = ++a + a++ + ++a - ++b + ++b + c++ - ++c + ++c;
      // 11+11+13-21+22+30-32+33
      console.log(d);
      var f = 10;
      var e = ++a + (a++ * ++a);
      // 11+(11*13)
      //要从左到右先把各个值得出来,再开始计算。
  • 比较运算符
    • ==比较的数 两边的值是否相等 与数据类型无关
    • ===比较的数 两边的值和数据类型是否一样 返回true时要求值和数据类型一样
  • 逻辑运算符
    • 逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值
    • 逻辑与:&&
      • 只要有一个条件不满足 那么结果就是 false
      • 如果前面都是true ,那么返回的结果取决于最后一项的值,返回值是最后一项的值
      • 逻辑中断:遇到false,就不执行了,不管后面的值
        console.log(1 && 1 && 0 && 4);
        //得到的值是0
        console.log(1 && 1 && 2 && 4);
        //得到的值是4
    • 逻辑或 :||
      • 只要有一个条件满足 那么结果就是 true
      • 逻辑中断:遇到true 就返回true 剩下的不执行
    • 逻辑非 :!
      • 逻辑非(!)也叫作取反符相当于这个变量取反,用来取一个布尔值相反的值,如 true 的相反值是 false
  • 赋值运算符

流程控制

流程控制就是来控制代码按照一定结构顺序来执行

  • 顺序结构
    • 程序会按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。
  • 分支结构
    • if 语句(单语句)
      • if (条件表达式/值/变量) { // 如果是值和变量,if会做隐式转换,转换为boolean类型
            // 条件成立执行的代码语句
        }
        
    • if else语句(双分支语句)
      • if (条件表达式) {
            //  条件成立执行的代码
        } else {
            // 条件不成立执行的代码
        }
         var age = prompt('请输入你的你的年龄:');
         if (age >= 18) {
               alert('欢迎光临');
         }
         else {
              alert('未成年禁止入内');
          }
        
    • if else if else(多分支语句)
      • 从上向下判断,有满足条件的就执行,后面的代码就不执行了。
        方法一:
        if (a < 59) {
        alert(‘不及格’);
        }
        方法二:(位置可以随意更改)
        if (a >= 0 && a < 59)
    • 三元表达式:语法结构 条件判断语句代码 ? 条件满足要执行的代码:条件不满足时要执行的代码。
    • switch 语句
      • 注意:
        1. switch 后面括号内可以是表达式或值, 通常是一个变量
        2. 需要全等做判断
        3. 如果满足条件但是没有break,,则继续执行下一个case里面的语句,直到遇到break为止
        4. 如果所有的 case 的值都和表达式的值不匹配,则执行 default 里的代码
      • switch( 表达式 ){ //表达式常为一个变量  ***
              case value1: //仅仅是值,不支持写表达式:>=value1  ***
                  // 表达式 等于 value1 时要执行的代码
                  break;
              case value2:
                  // 表达式 等于 value2 时要执行的代码
                  break;
              default:
                  // 表达式 不等于任何一个 value 时要执行的代码
                  break; //这个可以省略
          }
        
    • switch: 判断一系列固定的值,比如星期。
    • if else : 常用于判断范围,也可以判断固定值
  • 循环结构
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值