JavaScript初识2

7 篇文章 0 订阅

目录

JS语言是解释型语言

一、运算符

1.赋值运算符

2.一元运算符

3.比较运算符

4.逻辑运算符

5.运算符优先级

二、语句

1.表达式和语句

2.分支语句

(1)If 语句

(2)三元表达式

(3)switch 语句

3.循环语句

(1)断点调试

(2)while循环

(3)for循环

(4)for循环嵌套

四、数组

遍历数组(重点)

操作数组(重要)

1 改

2 增(重点)

3 删

4 例-数组筛选

五、案例-数据生成柱状图(难)

六、冒泡排序

七、数组排序


JS语言是解释型语言

一、编译型语言(Java等语言)

优点:运行速度快,代码效率高,编译后的程序不可修改,保密性较好。

缺点:代码需要经过编译方可运行,可移植性差,只能在兼容的操作系统上运行 。

二、解释型语言(JavaScript、Python等)

优点:可移植性较好,只要有解释环境,可在不同的操作系统上运行。

缺点:运行需要解释环境,运行起来比编译的要慢,占用资源也要多一些,代码效率低,代码修改后就可运行,不需要编译过程


一、运算符

1.赋值运算符

对变量进行赋值的运算符, 左边必须是一个容器
赋值运算符:=  +=  -=  *=  /=  %=
let num = 1
    num += 1

2.一元运算符

使用一元运算符做自增运算
可以根据所需表达式的个数分为:一元运算符、二元运算符、三元运算符
自增:++
自减:--
使用场景: 经常用于 计数 来使用。 比如进行10次操作,用它来计算进行了多少次了
前置自增:++num
后置自增:num++
前置自增和后置自增单独使用没有区别
但是,如果参与运算就有了区别   后面 i++ 后置自增会使用相对较多,并且都是单独使用
    //前置自增和后置自增 在运算时有区别
    let i = 1
    // console.log(i++ + 2);  //4  i=1 i++ i+1=2  2+2=4
    console.log(++i + 2);   //3  i=1 i+2=1+2=3 i++  i=i+1=2

后置++  : 不用管++,直接用i初始值带入计算 ,计算完再进行i+=1

let a = 1
    console.log(a++ + ++a + a);
    //1+3+3=7   a++后置自增成a=2但是运算时a=1  ++a前置自增变成a=2+1=3 剩下的a现在已经是3了

3.比较运算符

1. = 和 == 和 === 怎么区别?
= 是赋值
== 是判断 只要求值相等,不要求数据类型一样即可返回true
=== 是全等 要求值和数据类型都一样返回的才是true
开发中,请使用 ===
2. 比较运算符返回的结果是什么?
结果只有2个, true 或者 false
注意:
NaN不等于任何值,包括它本身 (NaN  不等于 NaN) 涉及到"NaN“ 都是false
尽量不要比较小数,因为小数有精度问题
不同类型之间比较会发生隐式转换(所以开发中,如果进行准确的比较我们 更喜欢 === 或者 !==)
字符串比较,是比较的字符对应的ASCII码
Ø 从左往右依次比较
Ø 如果第一位一样再比较第二位,以此类推
Ø 比较的少,了解即可

4.逻辑运算符

使用场景: 逻辑运算符用来解决多重条件判断
正确写法:num>5 && num<10
错误写法:5<num<10

5.运算符优先级

一元运算符里面的 逻辑非优先级很高
逻辑与&&比逻辑或||优先级高

二、语句

1.表达式和语句

表达式举例: num = 3 + 4

语句举例: alert() 弹出对话框 console.log() 控制台打印输出

表达式: 因为表达式可被求值,所以它可以写在赋值语句的右侧
语句: 而语句不一定有值,所以比如 alert() for和break 等语句就不能被用于赋值。
某些情况,也可以把表达式理解为表达式语句,因为它是在计算结果,但不是必须的成分 (例如continue语句 )

2.分支语句

程序三大流程控制语句:顺序结构、分支结构、循环结构
分支语句可以让我们有 选择性 的执行想要的代码,包括:IF分支语句、三元运算符、Switch语句

(1)If 语句

分为:单分支、双分支、多分支
 // 单分支语句
    if (true) {
      console.log('执行语句')
    }//有输出‘执行语句’
    if (false) {
      console.log('执行语句')
    }//没有输出‘执行语句’

注意:除了空字符串,所有字符串为真;除了0,所有数字为真

(2)三元表达式

比 if 双分支 更简单的写法,可以使用 三元表达式
符号:? 与 : 配合使用       
let num = 3 < 5 ? 3 : 5
    console.log(num);

  一般用来取值

(3)switch 语句

释义:
Ø 找到跟小括号里数据 全等 的case值,并执行里面对应的代码
Ø 若没有全等 === 的则执行default里的代码
Ø 例:数据若跟值2全等,则执行代码2
注意:
1. switch case语句一般用于等值判断,不适合于区间判断
2. switch case一般需要配合break关键字使用 没有break会造成case穿透

3.循环语句

(1)断点调试

作用 学习时可以帮助更好的理解代码运行,工作时可以更快找到bug
浏览器打开调试界面
1. 按F12打开开发者工具
2. 点到sources一栏
3. 选择代码文件
断点:在某句代码上加的标记就叫断点,当程序执行到这句有标记的代码时会暂停下来

(2)while循环

while : 在…. 期间, 所以 while循环 就是在满足条件期间,重复执行某些代码

while大括号里代码执行完毕后不会跳出,而是继续回到小括号里判断条件是否满足,若满足又执行大括号里的代码,然后再回到小括号判断条件,直到括号内条件不满足,即跳出

(是以某个变量为起始值,然后不断产生变化量,慢慢靠近终止条件的过程。)

while循环需要具备三要素 :()
1. 变量起始值
2. 终止条件(没有终止条件,循环会一直执行,造成死循环)
3. 变量变化量(用自增或者自减)
循环结束:
Ø break:退出循环
Ø continue:结束本次循环,继续下次循环
区别:
Ø continue 退出本次循环 一般用于排除或者跳过某一个选项的时候, 可以使用continue
Ø break 退出整个循环 一般用于结果已经得到, 后续的循环不需要的时候可以使用

(3)for循环

  let sum = 0
    for (let i = 1; i <= 100; i++) {
      if (i % 2 === 0) {
        sum += i
      }
    }
    document.write(`1-100之间偶数和为${sum}`)

(4)for循环嵌套

案例:九九乘法表


四、数组

数组:(Array)是一种可以按顺序保存数据的 数据类型

遍历数组(重点)

 let arr = ['刘德华', '青湖原', '莫山', '周处', '风风']
    // 遍历
    for (let i = 0; i < arr.length; i++) {
      console.log(arr[i]);
    }

操作数组(重要)

数组本质是数据集合, 操作数据无非就是 增 删 改 查 语法:

1 改

 // 修改
    let arr1 = ['add', 'dff', 'fff']
    arr1[0] = 'uuu'
    console.log(arr1);//['uuu', 'dff', 'fff']

2 增(重点)

push() 方法将指定的元素添加到数组的末尾,并返回新的数组长度。

    // push 末尾
    let arr = ['pink', 'hotpink']
    arr.push('deeppink')
    console.log(arr);//['pink', 'hotpink', 'deeppink']

    // unshift  前面
    let arr = ['pink', 'hotpink']
    arr.unshift('red')
    console.log(arr);//[['red', 'pink', 'hotpink']

3 删

数组. pop() 方法从数组中删除最后一个元素,并返回该元素的值   
数组. shift() 方法从数组中删除第一个元素,并返回该元素的值
数组. splice() 方法 删除指定元素

4 例-数组筛选

  let arr = [2, 4, 5, 833, 67, 90]
    // 1.声明新的空的数组
    let newArr = []
    // 2.遍历旧数组
    for (let i = 0; i < arr.length; i++) {
      // 3.满足条件 追加给新的数组
      if (arr[i] >= 10) {
        newArr.push(arr[i])
      }
    }
    // 4.输出新的数组
    console.log(newArr);

五、案例-数据生成柱状图(难)


六、冒泡排序

冒泡排序是一种简单的排序算法
它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重 复地进行直到没有再需要交换,也就是说该数列已经排序完成。
这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
比如数组 [2,3,1,4,5] 经过排序成为了 [1,2,3,4,5] 或者 [5,4,3,2,1]

七、数组排序

数组. sort() 方法可以排序
let arr = [4, 2, 5, 1, 3]
// 1.升序排列写法
arr.sort(function (a, b) {
return a - b
})
console.log(arr) // [1, 2, 3, 4, 5]
// 降序排列写法
arr.sort(function (a, b) {
return b - a
})
console.log(arr) // [5, 4, 3, 2, 1]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值