目录

  • JavaScript数据类型
  • 什么叫弱数据类型语言
  • 布尔类型在哪些情况下会返回false
  • JavaScript数值类型的转换 显示转换 number类型
  • i++ 和++i的区别
  • = == ===的区别
  • switch语句和if else if语句的区别
  • 如何利用双重for循环实现冒泡排序
  • while循环执行思路:
  • 什么是数组
  • 数组的操作(增删改查)
  • 函数的形参和实参
  • break、continue、return的区别
  • JS 中作用域的范围及作用
  • 什么是对象
  • 对象的特点
  • 对象中取值和赋值的方法有哪些?它们有什么不同
  • 对象的操作(增删改查)


JavaScript数据类型

简单数据类型:

number

数字型

string

字符串型

null


Undefined

缺少值(申明了变量但是没有初始化)

Boolean

布尔型(返回true或false)

NaN

非数字类型

复杂数据类型:

Array

数组

function

函数

object

对象

什么叫弱数据类型语言

简单来说就是声明变量时如果没有赋值,就看不出来声明的变量具体的类型,它可以是多变的,例如示例下的num就是两个不同的数据类型

let num = 10 // 数字型

let num = '123' //字符串型

强数据类型(Java):写出来一个单词就知道它存放的是什么数据类型 例如示例下,看到int就知道这个变量内只能是整型的

int num = 10

布尔类型在哪些情况下会返回false

0 false undefined ’ ’ null NaN

JavaScript数值类型的转换 显示转换 number类型

Number():可以用于任何的数据类型

parseInt:提取 整数数值

paseFloat:提取浮点数值

i++ 和++i的区别

i++ 先赋值后运算

++i先运算后赋值

= == ===的区别

=是赋值号,通常用来声明变量,将右边的值给左边

==是相等,用来比较两个值是否相等(也只比较两个值是否相等,不会比较数据类型是否相等)

===是全等,用来比较两边的值、数据类型必须完全一致

switch语句和if else if语句的区别

  • 一般情况下,他们两个可以相互替换
  • switch…case 语句通常处理case为比较确定值得情况,而if…else…语句更加灵活,常用于范围判断(大于、等于某个范围)
  • switch语句进行条件判断后直接执行到程序的条件语句,效率更高。而if…else语句有几种条件,就得判断多少次。
  • 当分支较少时,if…else语句执行效率比switch语句高。
  • 当分支较多时,switch语句执行效率比较高,而且结构更清晰。

如何利用双重for循环实现冒泡排序

let arr = [5, 2, 3, 4, 1, 6]
    for (let i = 0; i < arr.length - 1; i++) {
      for (let j = 0; j < arr.length - i - 1; j++) {
        if (arr[j] > arr[j + 1]) {
          // 声明一个临时变量 临时存储数据
          let temp = arr[j]
          arr[j] = arr[j + 1]
          arr[j + 1] = temp
        }
      }
    }
    console.log(arr) // 1,2,3,4,5,6

while循环执行思路:

while(条件表达式){
   //循环代码
   //操作表达式
}
  1. 先执行条件表达式,如果结果为true,则执行循环体代码;如果为false,则退出循环,执行后面代码
  2. 执行循环体代码
  3. 循环体代码执行完毕后,程序会继续执行条件表达式,如条件仍为true,则会继续执行循环体,直到循环条件为false时,整个循环才会结束

什么是数组

数组就是一组有序的数的集合

数组的操作(增删改查)

增(数组添加新的数据)

arr.push(新增的内容)arr.unshift(新增的内容)

删(删除数组中的数据)

arr.pop()arr.shift()arr.splice(操作的下标,删除的个数)

改(重新赋值)

数组名[下标] = 新值

查(查询数组数据)

数组名[下标]

函数的形参和实参

在声明函数时,可以在函数名称后面的小括号中添加一些参数,这些参数被称为形参,而在调用该函数时,同样也需要传递相应的参数,这些参数被称为实参。

参数

说明

形参

形式上的参数 函数定义的时候 传递的参数 当前并不知道是什么

实参

实际上的参数 函数调用的时候 传递的参数 实参是传递给形参的

break、continue、return的区别

  • break:结束当前循环体(如for、while)
  • continue:跳出本次循环,继续执行下次循环(如for、while)
  • return:不仅可以退出循环,还能够返回return语句中的值,同时还可以结束当前的函数体内的代码

JS 中作用域的范围及作用

1、全局作用域

作用于所有代码执行的环境(整个script标签内部)或者一个独立的js文件(全局有效)

2、局部作用域

作用于函数内的代码环境,就是局部作用域。因为跟函数有关系,所以也称作函数作用域(局部有效)

3、块级作用域

块作用域由{ }包括,if语句和for语句里面的{ }等({}内有效)

什么是对象

对象是一组无序的键值对的集合

对象的特点

  • 无序的数据的集合
  • 可以详细的描述某个事物

对象中取值和赋值的方法有哪些?它们有什么不同

1、点方法

2、中括号语法

不同点:中括号语法中可以支持变量和属性名,而点方法只能存放属性名而不支持变量

对象的操作(增删改查)

增(对象添加新的数据)

对象名.新属性名 = 新值

删(删除对象中的属性)

delete 对象名.属性名

改(重新赋值)

对象.属性 = 值 对象.方法 = function() {}

查(查询对象)

对象.属性 或者 对象[‘属性’] 对象.方法()