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"123trueundefinednull[]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() :
''undefinednull0NaNfalse-0
- Boolean() :
-
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.key和obj[ key ]这两个语法的区别- obj.key : key代表
属性名,(1)取出key属性值 - obj[ key ] : key代表
变量名, (1)取出key变量值 (2)取变量值对应的属性值
- obj.key : key代表
-