JavaScript 初级(三)

前言

这篇文章为本人学习时所作,如有不严谨之处还请多多包涵。本文章包含了js基础知识与实战案例。方便大家练习。

目录

前言

一、基础知识

1.隐式类型转换

2.短路运算

3.循环语句

3.1while循环

3.2.for循环

4.断点调试

5.数组

二、实战案例

案例1 while循环

案例2 ATM机体验

案例3 for循环练习

 案例4 数组的深度体验

 总结:


一、基础知识

1.隐式类型转换

发生在各种运算中。true ==>隐士转换为数字1。false ==>隐式转换为数字0。也可以通过强制类型转换回来。Boolean(值) 强制的将当前值转换为布尔值。

特殊的值:哪些可以转换为false? :0,空字符串,null ,undefined。

2.短路运算

如果是 && 运算,只要遇到 false ,就立即短路,不会再向下执行,直接返回当前值。

如果是 || 运算,只要遇到 true 就立即短路,不会再执行,直接返回当前值。

如果逻辑运算中,既有 && 又有 || ,先计算 && ,后计算 || 。

console.log(1 || 2);//返回值为1
console.log(0 || '' || 2 || 3);//返回值为2

console.log(1 && 2);//2

console.log(0 && 1 || 2);//2

3.循环语句

3.1while循环

while(条件) {
        //循环执行的代码
        //修改变量值
       }

语法解释:

1.初始化变量(定义变量并赋值)不能随便初始化。

2.程序会自动将变量带入到while循环的条件中,判断条件是否成立,如果成立,则立即执行循环体中的代码。

3.执行完循环体中的代码后,再修改变量的值,然后将修改的值再带入到条件中,如果条件成立,则继续执行循环体中的代码。

3.2.for循环

语法:

for(初始化变量; 条件; 变量自增; (变量自减)) {
                //循环体代码
            }

for 循环嵌套(一个循环中可以嵌套一个或多个循环)

for (let i = 1; i <= 5; i++){
                console.log('-----------');
                for(let j = 1; j <= 3; j++) {
                    console.log('hhh');
                }
            
            }

上述代码输出结果如下:

 

 代码的具体如何执行大家可以亲自去进行断点调试。

循环嵌套是如何执行的?执行顺序是什么?

1.第一次先执行最外层的循环。

2.然后将循环内部的代码全部执行完后

3.再执行下一次的外层循环

4.断点调试

是程序员必备的调错,梳理逻辑的技能。

如何调试?

1.运行程序;

2.在浏览器控制台中2,选择scorces选项。

3.单击对应的html页面。

4.在代码第一行位置处,插入断点,设置断点。(在对应的行号上点击鼠标左键)

5.重新刷新页面,执行程序。

6.手动让程序逐行执行,点击F10,或者 下一步按钮。

7.将鼠标放到变量上,或者某个条件上,就可以看见执行结果。

5.数组

5.1 定义数组

let 数组名 = [数据1, 数据2, 数据3, ..., 数据n]
let arr = new Array(数据1, 数据2, ..., 数据n];

5.2 遍历数组(通过循环的方式获取数组中的值)

 案例:将数组的每一个值分别输出到控制台中

let ary = ['a', 'b', 'c', 'd', 'f', 'g'];
           for(let i = 0; i < ary.lengthl; i++) {
                console.log(ary[i]);
           }

 5.3 操作数组

具体的操作方式:

1.增

数组名.push(新增的内容)
数组名.unshift(新增的内容)

代码演示:

let ary = ['a'];
           ary.push('b','c');//第一种方式 添加到末尾
           ary.unshift('受气包','boo');//第二种方式 添加到前面

           console.log(ary);

 

2.删

具体三种方法。

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

代码演示:

let ary = ['a', 'b', 'c', 'd'];
           ary.pop();//第一种方式 删除数组最后一个值
           ary.shift();//第二种方式 将数组第一个值删除
           ary.splice(1,1);//可以删除任意的值

           console.log(ary);

3.改

基本语法:数组[索引] = 值;

代码演示:

let ary = ['a', 'b', 'c', 'd'];
           ary[1] = 'B';

           console.log(ary);

4.查

二、实战案例

案例1 while循环

要求:输出十次月薪过万。重复输出,用循环解决。

 let i = 1;
      while(i <= 10) {
        console.log('aaa');
        i++;
      }

while循环练习

要求:输出1~100之间的所有数字。

let i = 1;
      while(i <= 100){
        document.write(`当前数字是:${i} <br> `);
      }

要求:计算1~100之间所有的数字累加和。

let i = 1;
      let sum = 0;
      while(i <= 100){
        sum = sum + i;
        i++;
        console.log(`当前结果是:${sum} `);
      }
 

案例2 ATM机体验

let m = 100;

      while(true) {
        let res = prompt('请选择您的操作:1.存钱 2.取钱 3.查看余额 4.退出');
        if(res == '4') {
            break;
        }
        switch(res) {
            
            case '1' :
            let money = Number(('请输入存款金额'));
            m += money;
            break;

            case '2':
                let money1 = Number(('请输入取款金额'));
                if(m < money1) {
                    alert('余额不足');
                }
                else {
                    m -= money1;
                }
            break;

            case '3':
                alert(`账户余额是:${m}`);
            break;
                
        }

案例3 for循环练习

1.输出1~100之间的数字

for(let i = 1; i <= 100; i++){
                console.log(i);
            }

2.输出1~100之间的偶数和

let sum = 0;
for(let i = 1; i <= 100; i++) {
if(i % == 0) sum += i;
}
console.log(sum);

3.在页面中输出一行5个星星

for(let i = 1; i <= 5; i++) {
                document.write('★');
            }

4.双for循环练习

 要求:页面打印出5行5列的星星

 for (let i = 1; i <= 5; i++){
                document.write(`<br>`);
                
                for(let j = 1; j <= 5; j++) {
                    document.write('★');
                }
            
            }

5.打印三角形

for( i = 1; i <= 5; i++) {
            document.write(`<br>`);
            for(j = 1; j <= i; j++)
            document.write('★');
           }

6.九九乘法表

for(let i = 1; i <= 9; i++) {
            document.write(`<br>`);
            for(let j = 1; j <= i; j++)
            
            document.write(`<span>${i} x ${j} = ${i * j} &nbsp;&nbsp</span>`);
           }

 案例4 数组的深度体验

要求:求数组[2,6,1,7,4]里面所有元素的和以及平均值。

let ary = [2, 6, 1, 7, 4];
           for(i = 0; i < ary.length; i++) {
                sum += ary[i];
           }
           console.log('最后的和是:'+ sum);

           console.log('平均值是:' + sum / ary.length);

求数组中的最大值。

let ary = [2, 6, 1, 77, 52, 25, 7];
           let max = ary[0];
           for(let i = 1; i < ary.length; i++) {
                if(ary[i] > max) {
                    max = ary[i];
                }
                
           }
           console.log(max);

 总结

js初级一共有五个部分,以后我会出四和五,关注我方便查阅。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值