js基础知识点总结

661 阅读5分钟

01-js基础

1.1-变量

  • 请说出变量的作用

    • 变量的作用是 存储数据
  • js关键字

    • 关键字 是一个 拥有特殊功能的 英语单词
    • let : 声明变量
    • typeof : 检测数据类型
    • if else : 分支语句
    • switch case : 分支语句
    • while : 循环
    • for : 循环
    • break : 结束switch-case与循环语句
    • continue : 结束本次循环体
    • function : 函数
    • return : 返回值
    • in : 遍历对象
    • new : 4件事
    • class extends super : ES6类函数
    • instanceof : 检测原型链
  • 变量和字面量的区别

    • (1)量 : 是内存中的一块空间(装东西的容器)

      • 空间: 存储的数据是可以修改的
    • (2)字面量 : js中可以被编译器识别的数据

      • 可以识别数据: 所有数据类型的数据统称

        • "123" 123 true undefined null [] function(){} {}
    • (3)字面量只能出现在等号右边

      • 原因: 只有变量才有存储功能
  • let a = 'a' , 它们的区别是什么

    • a : 变量名。 内存中一块空间的名字。

      • 变量名无论写在任何地方,作用都是取出里面存储的数据
    • 'a':字面量。 代表是一个固定的字符串数据 字符串"a"

1.2-运算符与表达式

  • = 作用

    • 赋值运算符的作用是 右边的数据 存入 左边的变量
  • == 作用

    • 比较运算符的作用是: 比较两个数据的值,判断某个条件是否成立
  • ===作用

    • 全等运算符的作用是: 比较两个数据的类型与值
  • 关系运算符

    • 判断条件 : 结果一定是布尔类型

    • 非空判断 : 判断字符串是不是空字符

  • 逻辑运算符 左边式子 逻辑运算符 右边式子

    • 逻辑运算符作用是 判断多个条件的关系

      • && : 多个条件同时成立
      • || : 多个条件成立任意一个
      • ! : 取反
  • 逻辑运算符短路运算(逻辑中断)规则 左边式子 逻辑运算符 右边式子

    • 逻辑与: 一假则假。 找假:左边式子为假,则返回左边式子的值。 反之返回右边式子的值。
    • 逻辑或: 一真则真。 找真:左边式子为真,则返回左边式子的值。 反之返回右边式子的值。
  • 逻辑运算符的短路运算应用场景

    • 函数默认参数
  • 逻辑运算符在开发中功能与多分支语句有重叠的。请问当你遇到需求的时候,你应该怎么选择

    • 逻辑运算符: 多个条件的关系(代码少)

      • 多个条件需要执行的代码相同的
    • 多分支语句 : 多个条件是否成立(代码多)

      • 多个条件执行的代码不同
  • num++ 和 num+1 的区别

    • 功能不同

      • num++ 相当于 num = num + 1会修改num自身的值 .
      • num + 1只是算术运算,不会修改num自身的值
  • num++ 和 num += 1 的区别

    • num++ 可以隐式转换 (字符串转数字)
    • num+=1 不可以隐式转换 (如果遇到字符串,则是连接操作)

1.3-分支语句

  • 一般什么时候会用到if语句

    • 单个条件判断
  • 一般什么时候会用到if-else语句

    • 两个互斥条件判断
  • 一般什么时候会用到if-else if-else语句

    • 多个条件判断
  • 一般什么时候会用到switch-case语句

    • 固定值匹配

      • 条件判断: 大于10 小于100 是否相等 是否等于0
      • 固定值匹配 : 月份、星期、账号类型
  • 假如有一个变量 let a = true,现在我的判断条件是检测a是不是true.下面有两种写法,

    • if(a == true){ }

    • if(a){ }

    • 分支语句注意点: 小括号里面的代码,如果不是布尔类型。编译器会自动隐式转换成布尔类型判断真假.

      • Boolean() : '' undefined null 0 NaN false -0

1.4-循环语句

  • for循环语句的执行流程。 for(语句1 ; 语句2 ; 语句3){ 循环体 }

    • 1.执行语句1(声明循环变量)

    • 2.判断语句2是否成立(循环条件)

      • 2.1 成立:执行循环体,执行语句3(循环变量自增)
      • 2.2 不成立:循环结束
    • 3.重复步骤2

  • while循环语句的执行流程。 while(循环条件){ 循环体 }

    • 1.判断循环条件是否成立

      • 1.1 成立:执行循环体
      • 1.2 不成立:循环结束
    • 2.重复步骤1

  • 什么时候会选择使用循环语句

    • 循环语句作用是: 重复执行一段代码
  • 当你需要使用循环语句的时候,你是如何抉择使用for循环还是while循环

    • for : 循环次数明确
    • while: 循环次数不明确
  • 书写循环语句的时候下面细节比较容易出错

    • 声明循环变量:容易忘记let
    • 循环条件容易写混淆
    • 循环体容易写错

1.5-数据类型

  • js的数据类型

    • 因为不同的数据, 存储 与 处理不同 。系统要对其进行分类。这就是数据类型。
  • 字符串类型

    • 字符串作用是:显示文本
  • 数字类型

    • 数字类型的是: 数学计算
  • 布尔类型

    • 布尔类型作用 : 判断条件成立/不成立
  • 数组和对象的区别

    • 使用数组:存储的数据是否有序
    • 使用对象:存储的数据是否无序
    • 判断依据:需要存储多个数据

什么情况使用函数

-   代码冗余 (重复的代码写多次)

    -   循环: 一段代码在一个地方执行多次
    -   函数:一段代码在多个地方执行一次
  • js中的对象在取值的时候有两种语法。 使用最多的是点语法:对象名.属性名 , 还有一种语法是 : 对象名['属性名'] , 这两种语法作用是一致的。但是在使用的时候还是有一些细微的区别。

    • 例如,遍历对象for(let key in obj){ }, obj.keyobj[ key ]这两个语法的区别

      • obj.key : key代表属性名,(1)取出key属性值
      • obj[ key ] : key代表变量名, (1)取出key变量值 (2)取变量值对应的属性值