(day 2)JavaScript学习笔记(基础之变量、常量和注释)

 概述

        这是我的学习笔记,记录了JavaScript的学习过程,我是有一些Python基础的,因此在学习的过程中不自觉的把JavaScript的代码跟Python代码做对比,以便加深印象。我本人学习软件开发纯属个人兴趣,大学所学的专业也非软件工程相关专业,从事的工作也非编程领域,学习编程也只能在工作闲暇时间,因此难免有些专业术语不是那么专业,并且博客会不定时更新,还请多多包涵。如果你完全没接触过JavaScript,那么这一系列的学习笔记可能会对你有所帮助。

        今天主要学习变量、常量和注释。 

1.变量 

         在编程的世界中,所有的数据都有存入到一个容器里,如果没有这个容器,我们就无法访问这些数据,这个容器就是变量。

(1)定义变量

        在JavaScript中定义一个变量要用关键字var 或者 let来定义变量,JavaScript中可以先定义变量名,后赋值,也可以在定义变量时同时赋值,赋值操作用等号=,将等号右边的数据赋值给左边的变量,如果是第一次赋值又叫做初始化。如下代码:

//先定义变量名,后赋值,一般不这么操作,防止忘记初始化而出现bug
var name1;

console.log(name1); //返回 undefined

name1 = "小红"; // 赋值操作,注意由于前面已经定义变量名,因此赋值时不用加关键字

console.log(name1); //返回 小红

//定义变量名时就直接初始化,推荐操作
var name2 = "小蓝";

console.log(name2); //返回 小蓝

        对比Python中的变量定义操作,Python中定义变量不需要关键字,如下代码:        

# 以下是Python中定义变量

name1 = "小红"
print(name1)

        另外需要注意在JavaScript代码中后面要加分号,Python则不用。

(2)变量的命名

        变量的名字必须以英文字母、下划线、美元的符号,即a-zA-Z_$  开头。变量名严格区分大小写,同一个单词如果大小写不一样,是被视为两个不同的变量。变量的名字尽量接近后面要赋值的内容含义,以方便读懂。

        变量名有两种命名方式,一种是驼峰命名法,第一个单词首字母用小写,后面的单词首字母大小,另一种方法是用下划线隔开每个单词,单词全部小写,如下代码示例:

//变量两种命名方法
var firstName = "Tom"; // 驼峰命名法
var first_name = "Jerry" //下划线命名法

(3)变量重新赋值 

         变量的内容是可以改的,我们可以对其进行重新赋值,重新赋值是不需要关键字的,如下代码:

//定义变量名时就直接初始化,推荐操作
var name2 = "小蓝";

console.log(name2); //返回 小蓝

//还可以再次赋值
name2 = "小黑";

console.log(name2); //返回 小黑

  (4)变量的相关操作

        和Python中一样,变量可以进行类似加法之类的相关操作,如下代码:

//变量的相关操作
var a = 10;
var b = 20;
var c = a + b;

console.log(c); //返回结果 30

2.常量

        常量和变量基本上是一样,只不过常量的值是不能改变的,如果要改变常量的值,会返回错误值。

        常量是用关键字const来定义的,常量名一般全部使用大写字母,多个单词之间用下划线分割。如果我们尝试修改常量的值,会返回异常信息,如下代码:

//常量
//定义常量用关键字const
const PI = 3.141592653;
const ONE_SCEONDS = 1000;

//PI = 3.14; 
//对常量重新赋值会返回异常:TypeError: Assignment to constant variable.

 3.注释

注释是代码开发人员写的备注或说明,代码执行的时候会自动跳过注释,JavaScript中有三种类型:

(1)单行注释

        在JavaScript中单行注释用两个斜杠来表示,它只能在同一行代码中写注释内容,前面的代码中我们已经见到过了,双斜杠后面都是注释内容,而在Python中单行注释内容用井号#来表示,前面的代码也有用到。 

(2) 多行注释

        在JavaScript中多行注释用/*注释内容 */来写多行注释,在Python中用三个单引号或三个双引号写多行注释,如下代码:


/*
 我是JavaScript中的多行注释
 我是JavaScript中的多行注释
 我是JavaScript中的多行注释
 */
'''
我是Python中的多行注释
我是Python中的多行注释
我是Python中的多行注释
'''

"""
我是Python中的多行注释
我是Python中的多行注释
我是Python中的多行注释
"""

(3)文档注释

        文档注释是用来生成API文档的,在JavaScript中文档注释用/**注释内容*/来表示,如下代码我们先定义一个函数,我们再在代码上面键盘输入/**按回车后是如下的代码:

/**
 * 
 * @param {*} a 
 * @param {*} b 
 * @returns 
 */
 function add(a,b){
    return a+b;
 }

        这个注释中第一个星号后面可以描写我们这个函数的功能,@param {*} a中大括号内星号可以写变量的类型,如下代码:

/**
 * 对两个操作数进行相加
 * @param {number} a 第一个操作数
 * @param {number} b 第二个操作数
 * @returns 返回两个数的和
 */
 function add(a,b){
    return a+b;
 }

        这样我们在调用这个函数的时候,就会有相关提示,如下图所示:

        如果不写文档注释,在我们调用函数的时候就没有这些提示,如下代码

//不写文档注释
function add2(a, b) {
  return a + b;
}

console.log(add2(100, 200));

        调用时显示的提示内容,如下图:

 

         在Python中也可以写文档注释,写法如下:

def add(a:int,b:int) -> int:
    """
    对两个操作数进行相加
    a: 第一个操作数为int类型
    b: 第二个操作数为int类型
    return: 返回两个数的和
    """
    return a + b

        注:文档注释中对数据类型的描述也仅仅是描述,但JavaScript和Python仍然是动态类型的。也就是说,你不能强制一个变量只能是某种类型。JavaScript和Python会在运行时动态地确定变量的类型。

        以上便是今天的学习内容,如果对你有所帮助请点个赞在走吧。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL技能树学习

MySQL三大范式: 第一范式主要是确保数据表中每个字段的值必须具有原子性,也就是说数据表中每个字段的值为不可再次拆分的最小数据单元。 第二范式是指在第一范式的基础上,确保数据表中除了主键之外的每个字段都必须依赖主键。 第三范式是在…

【设计模式】享元模式的使用场景及与其他共享技术的对比

文章目录 1.概述2.享元模式2.1.核心概念2.2.实现案例2.2.1.内部状态实现2.2.2.外部状态实现 2.3.更多场景 3.享元模式的一些对比3.1.与缓存的区别3.2.与池化技术的区别 4.总结 1.概述 享元模式(Flyweight Pattern)是一种非常常用的结构型设计模式&#…

实在TARS大模型斩获多项重磅大奖,AI领域实力认可

近日,实在智能TARS(塔斯)大模型凭借在多个垂直行业场景的优秀落地应用案例,以及AIGC领域的深耕和技术积累,荣获多项重磅大奖。 TARS大模型是是实在智能基于在自然语言处理(NLP)领域深厚的技术积…

MySQL常见的索引类型介绍

我将为您详细讲解 MySQL 中常见的索引类型,以及它们的使用场景、特点、区别和优势。索引是提高数据库查询性能的关键工具,它可以加速数据检索速度,减少服务器的负担。在 MySQL 中,索引类型主要包括 B-Tree 索引、哈希索引、全文索…

Linux进程概念僵尸进程孤儿进程

文章目录 一、什么是进程二、进程的状态三、Linux是如何做的?3.1 R状态3.2 S状态3.3 D状态3.4 T状态3.5 t状态3.6 X状态3.7 Z状态 四、僵尸进程4.1 僵尸进程危害 五、孤儿进程 一、什么是进程 对于进程理解来说,在Windows上是也可以观察到的&#xff0c…

Java线程的6种状态

线程在生命周期中并不是固定处于某一个状态而是随着代码的执行在不同状态之间切换。 NEW:初始状态,线程被创建出来但没有被调用start()RUNNABLE:运行状态,线程被调用了start()等待运行的状态BLOCKED:阻塞状态&#xf…

新手如何快速上手学习单片机?

读者朋友能容我,不使博文负真心 新开专栏,期待与诸君共享精彩 个人主页:17_Kevin-CSDN博客 专栏:《单片机》 学习单片机是一个有趣且有挑战性的过程。单片机是一种微控制器,广泛应用于各种电子设备和嵌入式系统中。在这…

开源向量数据库介绍

在开源矢量数据库的世界里,有些名字因其性能、灵活性和健壮性而脱颖而出。 1. Milvus Milvus 由 Zilliz 推出,是一款高度可定制的开源矢量数据库,在处理大规模数据方面大放异彩。由于其出色的可扩展性,当你需要处理大量数据时&a…

Python对头发二维建模(考虑风力、重力)

目录 一、背景 二、代码 一、背景 数值方法被用于创建电影、游戏或其他媒体中的计算机图形。例如,生成“逼真”的烟雾、水或爆炸等动画。本文内容是对头发的模拟,要求考虑重力、风力的影响。 假设: 1、人的头部是一个半径为10厘米的球体。…

python学习28

前言:相信看到这篇文章的小伙伴都或多或少有一些编程基础,懂得一些linux的基本命令了吧,本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python:一种编程语言&…

llc的基波分析法

对于我们之前分析的 LLC等效谐振电路的分析,其实我们发现分析的并不是完整的方波输入,而是用正弦波来分的 那么为何用基波来分析呢,因为对于方波而言,根据傅里叶级数它是可以分解成基波、 1次、3次、5次.......等各种奇次谐波的入…

《ElementPlus 与 ElementUI 差异集合》el-input 和 el-button 属性 size 有变化

差异 element-ui el-input 和 el-button 中,属性size 值是 medium / small / minielement-plus el-input 和 el-button 中,属性size 值是 ‘large’ | ‘default’ | ‘small’; 如果你是自动升级,Vue3 系统会有如下警告“ el-b…

NLP深入学习:结合源码详解 BERT 模型(一)

文章目录 1. 前言2. BERT 关键流程2.1 整体流程2.2 Pre-training(预训练)2.2.1 Masked Language Model (MLM)2.2.2 Next Sentence Prediction (NSP) 2.3 Fine-tuning(微调) 3. 总结4. 参考 1. 前言 BERT(Bidirectiona…

访问一次网站的全过程

目录 流程图: 一、应用层开始 1. 在浏览器输入https://www.baidu.com 2. DNS获取IP地址 3. 根据HTTP协议生成HTTP请求报文 应用层结束 二、传输层开始 4. TCP三次握手 传输层结束 三、网络层开始 5. IP寻址 6. ARP协议获取MAC地址 网络层结束 四、数据…

Linux中三次握手,四次挥手状态图,端口复用 半关闭状态,心跳包

tcp三次握手和四次挥手状态图: 为什么需要2MSL: 原因1:让四次挥手过程更加可靠,确保最后一个发送给对方的ACK到达;若对方没有收到ACK应答,对方会再次发送FIN请求关闭,此时在2MSL时间内被动关闭…

实际应用中运放里多余的引脚怎么处理?

实际应用中运放里多余的引脚怎么处理?-电子发烧友网 (elecfans.com)

Python实现图片(合并)转PDF

在日常的工作和学习过程当中,我相信很多人遇到过这样一个很普通的需求,就是将某一个图片转为PDF或者是将多个图片合并到一个PDF文件。但是,在苦苦搜寻一圈之后发现要么要下载软件,下载了还要注册,注册了还要VIP,甚至SVIP才能实现这样的需求! 今天,我带大家把这个功能打…

SSM整合项目(使用Vue3 + Element-Plus创建项目基础页面)

1.配置Vue启动端口 1.修改vue.config.js const {defineConfig} require(vue/cli-service) module.exports defineConfig({transpileDependencies: true }) module.exports {devServer: {port: 9999 //启动端口} }2.启动 2.安装Element Plus 命令行输入 npm install eleme…

css相邻元素边框重合问题,解决方案

1、如下图所示&#xff0c;在给元素设置边框后&#xff0c;相邻元素会出现重合的问题 2、解决方案 给每个元素设置margin-top以及margin-left为负的边框 <div style"width: 300px;display: flex;flex-wrap: wrap;margin-top: 50px;"><div style"border…

Python——读写属性

采用读写属性的目的就是把录入的数据控制在合理区间。 如&#xff1a;学生的年龄&#xff08;age&#xff09;&#xff0c;学生的身高&#xff08;height&#xff09;... 方法一&#xff1a;利用实例方法来控制 class Student:def __init__(self,name"",age0):self.…