当前位置: 首页 > news >正文

(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会在运行时动态地确定变量的类型。

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

相关文章:

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

概述 这是我的学习笔记,记录了JavaScript的学习过程,我是有一些Python基础的,因此在学习的过程中不自觉的把JavaScript的代码跟Python代码做对比,以便加深印象。我本人学习软件开发纯属个人兴趣,大学所学的专业也非软件…...

Spring Boot中全局异常处理器

文章目录 1.Spring Boot中两种异常处理方式2.为什么需要全局异常处理呢?3. 全局异常处理器测试4.ControllerAdvice 详解5.ExceptionHandler 详解 1.Spring Boot中两种异常处理方式 要想解决测试中存在的问题,我们需要对程序中可能出现的异常进行捕获&am…...

【JAVA重要知识 | 第七篇】Java异常知识总结(声明、抛出、捕获异常)

7.Java异常知识总结(声明、抛出、捕获异常) 7.1异常定义 在程序运行过程中,如果JVM检测出一个不可能执行的操作时,就会出现运行时错误(runtime error)。在Java中,运行时错误会作为异常抛出。异…...

SSM整合项目(Vue3环境搭建)

SSM整合项目(Vue3环境搭建) 1.下载node.js 1.卸载原来的node.js 2.检测是否卸载成功 3.下载node.js(10.16.3) 一路next就可以 4.检测是否安装成功 2.全局安装Vue插件cli 命令行输入 npm install -g vue/cli 3.新建Vue项目 1.…...

Golang 方法的接收器 receiver 指针和值的区别

一、如果receiver是指针类型 package mainimport "fmt"type Count struct {count int }func main() {c : Count{count: 0}c.incr()fmt.Println(c.count)c2 : &cc2.incr()fmt.Println(c2.count) }func (c *Count) incr() {c.count }//打印结果 1 2 incr 方法的 …...

【蓝桥杯】节省时间

一、对于string类型变量的连接,可以直接用“”或者“”来进行字符串的直接连接 string a"1"; string b"2"; string c; cab"12"; string操作符两边既可以都是string类型,也可是string与char类型 注意: (1)“”…...

矩阵乘法--Strassen算法

一、矩阵乘法 从中可以看出&#xff0c;计算两个矩阵的乘积&#xff0c;需要三个 for 循环&#xff0c;可以简单写出代码&#xff1a; for(int i1;i<m;i)for(int j1;j<p;j)for(int k1;k<n;k)c[i][j]a[i][k]*b[k][j]; 时间复杂度的分析&#xff1a;很明显&#xff0c;…...

Unity笔记:C#基础(1)

杂项 虚函数 CSDN - C虚函数详解 cnblog - C#中的虚函数virtual 常量池与new 在C#中&#xff0c;string是不可变的&#xff0c;这意味着对string对象的操作通常会返回一个新的string对象&#xff0c;而不会修改原始的string对象。因此&#xff0c;几乎所有涉及更改string内…...

计算机科技与心理学的紧密交织:一场跨学科的深度对话

随着信息技术的飞速发展&#xff0c;计算机科学与心理学这两门看似迥异的学科日益呈现出密不可分的关系。本文将深入探讨计算机科学与心理学之间的相互影响和融合&#xff0c;揭示二者在研究方法、应用实践以及对未来社会发展的影响等方面的高度关联性。 计算机科学为心理学研究…...

【JAVA类】利用接口的多继承实现———图书管理系统【附源码】

引言 在我们学习了一些java的基础语法之后&#xff0c;需要把这些知识点可以串起来&#xff0c;这里使用一个简单的小项目可以很好的帮助我们牢记这些知识点&#xff0c;今天就带大家学习一个有关java的小项目&#xff0c;很多学校也经常把这个项目作为他们的课程设计——经典的…...

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

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

实体店如何引流成交裂变?打造流量新引擎的秘诀

在数字化浪潮席卷的今天&#xff0c;实体店经营面临着前所未有的挑战与机遇。社区店作为连接居民日常生活的桥梁&#xff0c;如何在激烈的市场竞争中脱颖而出&#xff0c;实现引流、成交与裂变&#xff0c;成为摆在每一位实体店创业者面前的重要课题。 作为一名鲜奶吧开店5年的…...

蓝桥杯(日期问题纯暴力)

纯纯暴力&#xff0c;写的想吐&#xff0c;玛德服了。 但是复习了vector去重方法&#xff0c;日期的合法性判断。 #include <iostream> #include <vector> #include <cstring> #include <algorithm>using namespace std; vector<int> res; st…...

ES: ES+Kibana 环境部署

ESKibana 部署 机器信息 10.10.8.62 10.10.8.63 10.10.8.64版本选择&#xff1a;6.8.1 基础环境优化 所有节点 # 关闭防火墙 systemctl stop firewalld.service systemctl disable firewalld.service# 查看selinux getenforce # 关闭selinux setenforce 0 # 永久关闭se…...

Find My产品越来越得到市场认可,伦茨科技ST17H6x芯片赋能厂家

苹果发布AirTag发布以来&#xff0c;大家都更加注重物品的防丢&#xff0c;苹果的 Find My 就可以查找 iPhone、Mac、AirPods、Apple Watch&#xff0c;如今的Find My已经不单单可以查找苹果的设备&#xff0c;随着第三方设备的加入&#xff0c;将丰富Find My Network的版图。产…...

Linux系统——Haproxy高性能负载均衡软件

目录 一、Haproxy介绍 1.Haproxy定义 2.Haproxy主要特性 二、安装Haproxy 1.yum安装 2.第三方rpm包安装 3.编译安装 3.1解决Lua环境 3.2编译安装Haproxy 三、配置文件详解 1.状态页 2.日志管理 2.1定义日志到其他主机站点 3.指定进程线程个数 4.cpu亲缘性 5.多进…...

Python办公自动化之PDF(二)

Python操作PDF二 1、PyMuPDF简介2、 1、PyMuPDF简介 PyMuPDF&#xff08;也称Fitz&#xff09;开源&#xff0c;提供了一整套用于处理PDF文件的综合工具。使用PyMuPDF&#xff0c;用户可以高效地执行打开PDF、提取文本、图像和表格、操作旋转和裁剪等页面属性、创建新PDF文档以…...

登录失败重试次数安全设计方案

1、登录失败重试次数设计方案 1、无论是账号还是密码错误&#xff0c;统一提示&#xff1a;用户名或密码错误&#xff0c;账号剩余登录次数N&#xff01; 2、同一账号连续登录失败5次&#xff0c;锁定该账号5分钟&#xff0c;5分钟后可以再重试登录。 开发设计 key&#xff…...

Django——模板

Django——模板 Django 提供一种动态生成 HTML 页面 —— 模板 1、模板语言 模板语言(DTL): 变量 &#xff0c; 注释 &#xff0c; 标签 &#xff0c; 过滤器 &#xff0c; 模板继承 1、变量 <body> <!-- 这个是前端中的注释 --> {# 这种是Django中模板语言的…...

角蜥优化算法 (Horned Lizard Optimization Algorithm ,HLOA)求解无人机路径优化

一、无人机路径规划模型介绍 无人机三维路径规划是指在三维空间中为无人机规划一条合理的飞行路径,使其能够安全、高效地完成任务。路径规划是无人机自主飞行的关键技术之一,它可以通过算法和模型来确定无人机的航迹,以避开障碍物、优化飞行时间和节省能量消耗。 二、算法介…...

磁敏式传感器实战解析:从霍尔效应到工业测速应用

1. 磁敏式传感器入门&#xff1a;从霍尔效应说起 第一次接触磁敏式传感器是在五年前的一个工业自动化项目上&#xff0c;当时需要精确测量电机转速&#xff0c;传统的光电编码器在油污环境下频频失效。机械组的老师傅从工具箱里掏出个火柴盒大小的黑色元件说&#xff1a;"…...

MATLAB/Simulink搭建全桥LLC仿真:从参数计算到波形调试的保姆级避坑指南

MATLAB/Simulink全桥LLC仿真实战&#xff1a;从理论参数到波形优化的工程化实现 电力电子工程师在设计全桥LLC谐振变换器时&#xff0c;仿真环节往往是理论走向实践的第一道门槛。许多初学者在Simulink中搭建模型时&#xff0c;明明按照教科书计算了Lr、Lm、Cr等参数&#xff0…...

暗黑3智能战斗伴侣:D3KeyHelper重新定义高效刷图体验

暗黑3智能战斗伴侣&#xff1a;D3KeyHelper重新定义高效刷图体验 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面&#xff0c;可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper 当你沉浸在暗黑破坏神3的秘境战斗中…...

一文搞懂:如何用 Spring AI 搭建 MCP Server 和 Client

MCP 概述 Model Context Protocol&#xff08;MCP&#xff09; 是一套标准化协议&#xff0c;用于实现 AI 模型与外部工具或资源的交互。它提供一致的接口&#xff0c;使 AI 模型能够访问数据库、API、文件系统及其他外部服务&#xff0c;同时支持多种传输机制&#xff0c;满足…...

C# 面试高频题:装箱和拆箱是如何影响性能的?菩

OCP原则 ocp指开闭原则&#xff0c;对扩展开放&#xff0c;对修改关闭。是七大原则中最基本的一个原则。 依赖倒置原则&#xff08;DIP&#xff09; 什么是依赖倒置原则 核心是面向接口编程、面向抽象编程&#xff0c; 不是面向具体编程。 依赖倒置原则的目的 降低耦合度&#…...

如何实现零训练深度换脸:roop-unleashed终极指南

如何实现零训练深度换脸&#xff1a;roop-unleashed终极指南 【免费下载链接】roop-unleashed Evolved Fork of roop with Web Server and lots of additions 项目地址: https://gitcode.com/gh_mirrors/ro/roop-unleashed 在当今数字内容创作爆炸的时代&#xff0c;视频…...

别再折腾PPT了!用VSCode + Marp插件,5分钟搞定一份高颜值Markdown幻灯片

用VSCode和Marp打造极简主义幻灯片&#xff1a;开发者首选的高效演示方案 在技术分享、教学演示或项目汇报的场景中&#xff0c;我们常常陷入一个两难困境&#xff1a;既希望保持内容的专业性和技术感&#xff0c;又不想在幻灯片设计上耗费过多时间。传统PPT软件虽然功能强大&a…...

SITS2026未公开PPT泄露分析:7个被主流框架忽略的Attention计算冗余点(附Patch代码)

第一章&#xff1a;SITS2026深度解读&#xff1a;大模型推理优化技术 2026奇点智能技术大会(https://ml-summit.org) SITS2026首次系统性地公布了面向千亿参数级大语言模型的端到端推理优化框架——SITS-Optima&#xff0c;其核心突破在于将动态稀疏注意力、量化感知编译&…...

TVA如何重塑3C产品质量检测新范式(5)

——领导者的角色&#xff1a;选择比努力更重要我们正站在制造业质量管理的转折点。过去&#xff0c;质量的提升是线性、渐进、有限的&#xff1b;未来&#xff0c;借助AI智能体视觉检测&#xff08;TVA&#xff09;等人工智能技术&#xff0c;质量的提升可以是非线性、跨越式、…...

AI开发-python-langchain框架(--AI 直接生成并执行 Python 代码 )煌

指令替换 项目需求&#xff1a;将加法指令替换为减法 项目目录如下 /MyProject ├── CMakeLists.txt # CMake 配置文件 ├── build/ #构建目录 │ └── test.c #测试编译代码 └── mypass2.cpp # pass 项目代码 一&#xff0c;测试代码示例 test.c // test.c #includ…...