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

 概述

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

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

1.变量 

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

(1)定义变量

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

//先定义变量名,后赋值,一般不这么操作,防止忘记初始化而出现bug
var name1;console.log(name1); //返回 undefinedname1 = "小红"; // 赋值操作,注意由于前面已经定义变量名,因此赋值时不用加关键字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会在运行时动态地确定变量的类型。

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

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

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

相关文章

【学习心得】爬虫逆向的小技巧小知识(持续更新)

(一)小知识 windows.onload function () {doit()} 当页面加载完成后立即执行doit函数BrowserType() 用来获取浏览器的一系列参数constructor 是类的特殊方法,当new一个类的新实例时该方法被调用window.btoa(string) 将一个ASCII字符串变成B…

Linux系统编程(六)高级IO

目录 1. 阻塞和非阻塞 IO 2. IO 多路转接(select、poll、epoll) 3. 存储映射 IO(mmap) 4. 文件锁(fcntl、lockf、flock) 5. 管道实例 - 池类算法 1. 阻塞和非阻塞 IO 阻塞 IO:会等待操作的…

猫咪挑食怎么办?预防猫咪挑食的生骨肉冻干分享

在现今社会,养猫的人越来越多,大家都把自家的小猫当作宝贝来宠爱。然而,这种宠爱有时也会导致猫咪养成挑食的不良习惯。那么,猫咪挑食怎么办呢? 今天,我要分享一个既能确保猫咪不受苦,又能有效…

嵌入式学习第二十六天!(网络传输:TCP编程)

TCP通信: 1. TCP发端: socket -> connect -> send -> recv -> close 2. TCP收端: socket -> bind -> listen -> accept -> recv -> send -> close 3. TCP需要用到的函数: 1. co…

MySQL--索引底层数据结构详解

索引是什么? 索引是帮助MySQL高效获取数据的排好序的数据结构,因此可知索引是数据结构。 概念很抽象,但是类比生活中的例子就很容易理解,比如一本厚厚的书,我们想取找某一小节,我们可以根据目录去快速找到…

【Linux-文件管理】

Linux-文件管理 ■ mkdir(创建文件夹)■ rmdir(删除目录)■ touch(文件创建)■ rm(删除文件或文件夹)■ cp(复制)■ mv(剪切)■ tail■…

Python实现快速排序算法

Python实现快速排序算法 下面是使用 Python 实现的快速排序算法的示例代码&#xff1a; def quick_sort(arr):if len(arr) < 1:return arrelse:pivot arr[0]less_than_pivot [x for x in arr[1:] if x < pivot]greater_than_pivot [x for x in arr[1:] if x > pi…

Spring Boot中Excel数据导入导出的高效实现

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…

基于SpringBoot+MYSQL的大学生租房平台

目录 1、 前言介绍 2、主要技术 3、系统流程 3.1、操作流程 3.2、登录流程 3.3、删除信息流程 3.4、添加信息流程 4、功能需求 5、系统设计 5.1、功能结构设计 5.1、数据库概念设计 6、运行截图(部分) 6.1、管理员功能实现 6.1.1、房东管理 6.1.2、信息审批管理 …

Springboot启动后想要做某些事可以通过什么方法实现?

在Spring Boot应用中&#xff0c;如果你想在应用启动完成后执行一些特定的操作&#xff08;例如缓存预热&#xff09;&#xff0c;可以实现CommandLineRunner或ApplicationRunner接口。这两个接口都提供了一个run方法&#xff0c;在Spring Boot应用上下文初始化完成后会被自动调…

Redis 配置文件详解

Units 单位 配置大小单位&#xff0c;开头定义了一些基本的度量单位&#xff0c;只支持bytes&#xff0c;不支持bit&#xff0c;大小写不敏感。 # Redis configuration file example. # # Note that in order to read the configuration file, Redis must be # started with …

java实现文件下载(前端传文件后端以流的方式进行输出)

其实文件的下载在前面的博客当中已经提到过了&#xff0c;但是本次单出一片博客的目的主要还是想把流程给理清楚&#xff0c;授人以鱼不如授人以渔对吧。 想要看文件上传的请跳转到前面一篇博文&#xff1a; java实现文件上传到本地 那接下来我们来看看具体的实现步骤吧~ 一…

聚观早报 | 腾讯QQ测试AI对话功能;哪吒L官宣4月交付

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 3月8日消息 腾讯QQ测试AI对话功能 哪吒L官宣4月交付 中国对瑞士等6国试行免签 Redmi K70至尊版细节曝光 Meta正…

IDEA自定义Maven仓库

Maven 是一款广泛应用于 Java 开发的工具&#xff0c;其作用类似于一个全自动的 JAR 包管理器&#xff0c;能够方便地导入开发所需的相关 JAR 包。在使用 Maven 进行 Java 程序开发时&#xff0c;开发者能够极大地提高开发效率。以下是关于如何安装 Maven 以及在 IDEA 中配置自…

【数据结构】二、线性表:1.顺序表的插入、删除、查找、特点

文章目录 1.3插入1.4删除1.5查找1.5.1按位查找1.5.2按值查找 1.6特点 1.3插入 把新的数据插入的目标位置之后&#xff0c;把目标位置后面的数据依次向后进行移动。 bool ListInsert(SqList &L,int i,int e){if(i<1||i>L.length1) //判断i的范围是否有效return fals…

Linux软件高级编程-网络--TCP通信--day13

TCP发端: socket connect send recv close TCP收端: socket bind listen accept send recv close 1.connect int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen); 功能: …

使用 CSS 的 line-height 属性来提高可读性

在本文中&#xff0c;您将了解 CSS line-height 属性以及如何使用它来创建视觉上愉悦、易读的文本。 您可能以前见过 line-height 的使用&#xff1a; p {font-size: 16px;line-height: 1.2; }但它是如何工作的&#xff0c;以及在 CSS 中扮演着什么角色呢&#xff1f; CSS 中…

基于LSTM实现春联上联对下联

按照阿光的项目做出了学习笔记&#xff0c;pytorch深度学习实战项目100例 基于LSTM实现春联上联对下联 基于LSTM&#xff08;长短期记忆网络&#xff09;实现春联上联对下联是一种有趣且具有挑战性的任务&#xff0c;它涉及到自然语言处理&#xff08;NLP&#xff09;中的序列…

Android 4.4 以下,OkHttp访问Https报错,设置了sslSocketFactory仍无效的解决方法

背景 Android 4.4 及以下&#xff0c;使用 OkHttp 发送 Https 请求&#xff0c;报以下错误&#xff1a; javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl0x6b712c90: Failure in SSL library, usually a protocol erro…

【Jemter】安装

1.准备前提工作 2.安装和卸载jdk 1&#xff09;安装双击jdk 2&#xff09;添加环境变量 此电脑–属性–高级系统设置–环境变量–系统变量–path删除/新建 C:\Program Files\Java\jdk-1.8\bin C:\Program Files\Java\jdk-1.8\jre 3&#xff09;验证 以防万一要卸载&#xff…