【零基础】学JS

news2024/10/7 17:24:23

喝下这碗鸡汤

“知识就是力量。” - 弗朗西斯·培根

1.三元运算符

目标:能利用三元运算符执行满足条件的语句

使用场景:其实是比if双分支更简单的写法,可以使用三元表达式

语法:条件 ? 满足条件的执行代码 : 不满足条件执行的代码

接下来用一个小案例来展示三元运算符

   <script>
        //1.用户输入
        let num = +prompt('请输入一个数字:')
        //2.判断输出  小于10才补0
        num = num < 10 ? '0' + num : num
        alert(num)

    </script>

2.断点调试

2.1为什么要进行断点调试?

学习可以使用帮助更好的理解代码运行,工作时可以更快找到BUG

2.2如何使用断点调试?

1.按F12打开开发者工具

2.点sources一栏

3.选择代码文件

 <script>
        let num = 18
        num = num + 1
        console.log(num)

    </script>

在console.log(num)打一个断点,刷新页面  num就会变成18啦 如果num加1,所以程序正确。

3.简易ATM取款机案例

需求:用户可以实现存钱,取钱,查看余额和退出功能

分析:

1.循环的时候,需要反复提示输入框,所以提示框写到循环里面

2.退出的条件是用户输入了4,如果是4,循环结束,不再弹窗

3.提前准备一个金额先存储一个金额

4.取钱则是减法操作,存钱则是加法操作,查看余额则是直接显示金额

5.输入不同的值,可以使用switch来执行不同的操作

<body>

    <script>
        //1. 开始循环
        //3. 准备一个总金额
        let money = 100
        while (true) {
            let re = +prompt(`
                请你选择操作:
                1.存钱
                2.取钱
                3.查看余额
                4.退出
                `)
            //2. 如果用户输入的是4,退出循环 break
            if (re === 4) {
                break
            }
            //4. 根据输入做操作
            switch (re) {
                case 1:
                    //存钱
                    let cun = +prompt('请输入存款金额:')
                    money += cun
                    break
                case 2:
                    let qu = +prompt('请输入取款金额:')
                    money -= qu
                    break

                case 3:
                    alert(`您的银行卡余额是:${money}`)
                    break
            }
        }


    </script>

</body>

4.为什么需要函数?

函数:
function,是被设计为执行特定任务的代码块
函数可以把具有相同或相似逻辑的代码“包裹”起来,通过函数调用执行这些被“包裹”的代码逻辑,这么做的优势是有利于精简代码方便复用
比如我们前面使用的 alert()、prompt()和 console.log() 都是一些is 函数,只不过已经封装好了,我们直接使用的。

5.函数的使用

函数的语法声明:

function 函数名() {
     函数体
}

函数名命名规范


1.和变量命名基本一致尽量小驼峰式命名法
2.前缀应该为动词
3.命名建议:常用动词约定

接下来我们来写两个小案例吧~

需求:
1.封装一个函数,计算两个数的和

 function getSum() {
            let num1 = +prompt('请输入第一个数字:')
            let num2 = +prompt('请输入第二个数字:')

            console.log(num1 + num2)
        }

        getSum()

2.封装一个函数,计算1-100之间所有数的和

 <script>

        function getSum() {
            let sum = 0
            for (let i = 1; i <= 100; i++) {
                sum += i

            }
            console.log(sum)
        }
        getSum()

    </script>

6.函数传参

形参:声明函数时写在函数名右边小括号里的叫形参(形式上的参数)
实参:调用函数时写在函数名右边小括号里的叫实参(实际上的参数)
形参可以理解为是在这个函数内声明的变量(比如 num1=10)实参可以理解为是给这个变量赋值

7.函数的返回值

为什么需要返回值的?其实我们可以理解为当我用洗衣机洗衣服的时候,洗完衣服(函数执行完毕),我们需要拿衣服(也就是返回值),也可以理解为当我们买东西的时候,我们不希望买一件就显示多少钱,我们希望到了结算的时候才告诉我们多少钱,也就是说我们希望做到随时可以使用返回值。

细节: 

在函数体中使用 return 关键字能将内部的执行结果交给函数外部使用
return 后面代码不会再被执行,会立即结束当前函数,所以return 后面的数据不要换行写return函数可以没有 return,这种情况函数默认返回值为 undefined

  <script>

        function fun() {
            return 20
        }

        //相当于执行 fun() 调用者 fun() = 20
        //console.log(fn())
        let re = fun()
        console.log(re)

    </script>

8.作用域

通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。

作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突

全局作用域

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


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

9.匿名函数

9.1函数表达式

函数表达式和具名函数的区别是,函数表达式的调用需要先声明,再调用,具名函数可以任意位置调用。

9.2立即执行函数

10.逻辑中断

总结

学完这部分的知识点之后,大家对js的基础知识已经有一定的了解了,JS的基础知识还剩下最后一篇,学完接下来就可以学习JS的API相关知识啦!开头的鸡汤你喝了吗?喝完继续肝!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1903001.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

英语学习交流小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;每日打卡管理&#xff0c;备忘录管理&#xff0c;学习计划管理&#xff0c;学习资源管理&#xff0c;论坛交流 微信端账号功能包括&#xff1a;系统首页&#xff0c;学习资源&…

AI周报(6.30-7.6)

AI应用-AI控制F16战机与人类飞行员狗斗 2024年美国国防部领导下的国防部高级研究计划局&#xff08;DARPA&#xff09;宣布&#xff0c;世界上首次人工智能&#xff08;AI&#xff09;驾驶的战斗机与人类驾驶的战斗机之间的空战&#xff0c;于去年秋季在加利福尼亚州爱德华兹空…

平台稳定性里程碑 | Android 15 Beta 3 已发布

作者 / 产品管理副总裁、Android 开发者 Matthew McCullough 从近期发布的 Beta 3 开始&#xff0c;Android 15 达成了平台稳定性里程碑版本&#xff0c;这意味着开发者 API 和所有面向应用的行为都已是最终版本&#xff0c;您可以查阅它们并将其集成到您的应用中&#xff0c;并…

并口、串口和GPIO口区别

并口 并行接口,简称并口。并口采用的是25针D形接头。所谓“并行”,是指8位数据同时通过并行线进行传送,这样数据传送速度大大提高,但并行传送的线路长度受到限制,因为长度增加,干扰就会增加,数据也就容易出错,目前,并行接口主要作为打印机端口等。 并口的工作模式 …

【小沐学Python】在线web数据可视化Python库:Bokeh

文章目录 1、简介2、安装3、测试3.1 创建折线图3.2 添加和自定义渲染器3.3 添加图例、文本和批注3.4 自定义您的绘图3.5 矢量化字形属性3.6 合并绘图3.7 显示和导出3.8 提供和筛选数据3.9 使用小部件3.10 嵌入Bokeh图表到Flask应用程序 结语 1、简介 https://bokeh.org/ https…

JVM原理(二十):JVM虚拟机内存的三特性详解

1. 原子性、可进行、有序性 1.1. 原子性 Java内存模型围绕着在并发过程中如何处理原子性、可见性和有序性这三个特征来建立的。 Java内存模型来直接保证的原子性变量操作包括read、load、assign、use、store和write这六个。我们大致可以认为&#xff0c;基本数据类型的访问、…

给csv或txt文件加上一列id

文章目录 前言代码 前言 从这样 变成这样 代码 import pandas as pd for i in range(0,10):data pd.read_csv(/home/yin/DREAMwalk-main/DREAMwalk-main/demo/LR/result/disease_label_herb_drug_{}.txt.format(i),sep\t, header0)n len(data)1nlist range(1,n)data[id] …

Amesim中删除计算结果保存计算文件

前言 Amesim在工程应用中计算的结果文件有时会很大&#xff0c;为了节省电脑存储空间&#xff0c;项目结束后可以将计算结果删除进行保存以存档。 操作步骤 具体操作步骤如下&#xff1a; Step1&#xff1a;在①File下打开&#xff08;Open&#xff09;需要删除计算结果的项…

安卓备忘录App开发

安卓备忘录APP开发,文章末尾有源码和apk安装包 目标用户: 普通安卓手机用户,需要一个简单易用的备忘录App来记录和管理日常事务。 主要功能: 用户注册: 用户可以创建一个账号,输入用户名和密码。 用户登录: 用户可以通过用户名和密码登录到应用。 用户信息存储: 用户名和…

机器学习原理之 -- 神经网络:由来及原理详解

神经网络&#xff08;Neural Networks&#xff09;是受生物神经系统启发而设计的一类计算模型&#xff0c;广泛应用于图像识别、语音识别、自然语言处理等领域。其基本思想是通过模拟人脑神经元的工作方式&#xff0c;实现对复杂数据的自动处理和分类。本文将详细介绍神经网络的…

缓存-缓存使用2

1.缓存击穿、穿透、雪崩 1.缓存穿透 指查询一个一定不存在的数据&#xff0c;由于缓存是不命中&#xff0c;将去查询数据库&#xff0c;但是数据库也无此纪录&#xff0c;我们没有将这次查询的null写入缓存&#xff0c;这将导致这个不存在的数据每次请求都要到存储层去查询&a…

算法 —— 二分查找

目录 二分查找 在排序数组中查找元素的第一个和最后一个位置 搜索插入位置 x的平方根 山峰数组的峰顶索引 寻找峰值 搜索旋转排序数组中的最⼩值 点名 二分查找模板分为三种&#xff1a;1、朴素的二分模板 2、查找左边界的二分模板 3、查找右边界的二分模板&#xf…

scrapy写爬虫

Scrapy是一个用于爬取网站数据并提取结构化信息的Python框架 一、Scrapy介绍 1.引擎&#xff08;Engine&#xff09; – Scrapy的引擎是控制数据流和触发事件的核心。它管理着Spider发送的请求和接收的响应&#xff0c;以及处理Spider生成的Item。引擎是Scrapy运行的驱动力。…

【0基础学爬虫】爬虫框架之 feapder 的使用

前言 大数据时代&#xff0c;各行各业对数据采集的需求日益增多&#xff0c;网络爬虫的运用也更为广泛&#xff0c;越来越多的人开始学习网络爬虫这项技术&#xff0c;K哥爬虫此前已经推出不少爬虫进阶、逆向相关文章&#xff0c;为实现从易到难全方位覆盖&#xff0c;特设【0…

SIFT 3D 点云关键点

检测原理 该算法在尺度空间中寻找极值点并提取出其位置、 尺度、 旋转不变量信息&#xff0c;提取的特征对视角变化、 仿射变换、 噪声具有一定的鲁棒性&#xff0c;对尺度缩放、 旋转具有较好的不变性。 SIFT关键点检测主要包括生成尺度空间构建、 空间极值点检测、 稳定关键…

Nacos 2.x 系列【18】多网卡 IP 配置

文章目录 1. 前言2. 服务端3. 客户端 1. 前言 个人电脑或者服务器&#xff0c;存在多网卡环境时&#xff0c;Nacos 可能会存在IP不正确问题。 2. 服务端 Nacos 服务在启动的时候需要选择运行时使用的IP或者网卡&#xff0c;在启动时&#xff0c;可以看到打印了IP&#xff1a…

第二周:李宏毅机器学习笔记

第二周学习周报 摘要Abstract一、深度学习1.Backpropagation&#xff08;反向传播&#xff09;1.1 链式法则1.2 Forward pass&#xff08;前向传播&#xff09;1.3 Backward pass&#xff08;向后传播&#xff09;1.4 总结 2. Regression&#xff08;神奇宝贝案例&#xff09;2…

CountDownLatch内部原理解析

文章目录 1、CountDownLatch介绍1.1、功能介绍1.2、demo1.3、问题 2、前置知识2.1、AQS整体结构2.1.1、整体结构2.1.2、state属性2.1.3、head和tail属性 3、CountDownLatchAPI源码解析3.1、countDown方法3.1.1、Sync类3.1.2、releaseShared方法3.1.3、tryReleaseShared方法 3.2…

ICMP协议详解及尝试用ping和tracert捕抓ICMP报文

一、ICMP协议 1.1、定义 ICMP&#xff08;Internet Control Message Protocol&#xff0c;互联网控制消息协议&#xff09;是一个支持IP层数据完整性的协议&#xff0c;主要用于在IP主机、路由器之间传递控制消息。这些控制消息用于报告IP数据报在传输过程中的错误&#xff0c…

ChatGPT4深度解析:探索智能对话新境界

大模型chatgpt4分析功能初探 目录 1、探测目的 2、目标变量分析 3、特征缺失率处理 4、特征描述性分析 5、异常值分析 6、相关性分析 7、高阶特征挖掘 1、探测目的 1、分析chat4的数据分析能力&#xff0c;提高部门人效 2、给数据挖掘提供思路 3、原始数据&#xf…