4.3 JavaScript变量

4.3.1 变量的声明

       JavaScript是一种弱类型的脚本语言,无论是数字、文本还是其他内容,统一使用关键词var加上变量名称进行声明,其中关键词var来源于英文单词variable(变量)的前三个字母。

可以在声明变量的同时对其指定初始值;也可以先声明变量,再另行赋值。例如:

var x = 2;
var msg = "Hello JavaScript!";
var name;

常见变量的赋值为数字或文本形式。当变量的赋值内容为文本时,需要使用引号(单引号、双引号均可)括住内容;当为变量赋值为数字的时候,内容不要加引号,否则会被当作字符串处理。 

JavaScript也允许使用一个关键词var同时定义多个变量。例如:

var x1, x2, x3; //一次定义了三个变量名称

同时定义的变量类型可以不一样,并且可为其中部分或全部变量进行初始化。例如:

var x1=2, x2="Hello", x3;

 由于JavaScript变量是弱类型的,因此同一个变量可以用于存放不同类型的值。例如可以声明一个变量初始化时用于存放数值,然后将其更改为存放字符串。代码如下:

var x = 99; //初始化时变量x存放的是数值99
x = "Hello"; //将变量x更改为存放字符串"Hello"

这段代码从语法上来说没有任何问题,但是为了良好的编程习惯不建议此种做法。应该将变量用于保存相同类型的值。 

 变量的声明不是必须的,可以不使用关键词var声明直接使用。例如:

msg1 = "Hello"
msg2 = "JavaScript";
msg = msg1+" "+msg2;
alert(msg); //运行结果为显示Hello JavaScript

上述代码中的msg1msg2msg均没有使用关键词var事先声明就直接使用了,这种写法也是有效的。当程序遇到未声明过的名称时,会自动使用该名称创建一个变量并继续使用。 

4.3.2 变量的命名规范

一个有效的变量命名需要遵守以下两条规则:

首位字符必须是字母( A- Za -z )、下划线( _ )或者美元符号( $ );
其他位置上的字符可以是下划线( _ )、美元符号( $ )、数字( 0-9 )或字母( A- Za -z )。

例如: 

var hello; //正确
var _hello; //正确
var $hello; //正确
var $x_$y; //正确
var 123; //不正确,首位字符必须是字母、下划线或者美元符号
var %x; //不正确,首位字符必须是字母、下划线或者美元符号
var x%x; //不正确,中间的字符不能使用下划线、美元符号、数字或字母以外的内容

常用的变量命名方式有Camel标记法、Pascal标记法和匈牙利类型标记法等。

  • Camel标记法:又称为驼峰标记法,该规则声明的变量首字母为小写,其他单词以大写字母开头。例如:var myFirstScriptvar myTest等。
  • Pascal标记法:该规则声明的变量所有单词首字母均大写。例如:var MyFirstScriptvar MyTest等。
  • 匈牙利类型标记法:该规则是在Pascal标记法的基础上为变量加一个小写字母的前缀,用于提示该变量的类型,如i表示整数、s表示字符串等。例如:var sMyFirstScriptvar iMyTest等。

4.3.3 JavaScript关键字和保留字

       JavaScript遵循ECMA-262标准中规定的一系列关键字规则,这些关键字不能作为变量或者函数名称。

全部关键字共计25个,如表所示。

       ECMA-262中还规定了一系列保留字,这些字是为将来的关键字而保留的单词,同样也不可以作为变量或者函数的名称。全部保留字共计31个,如表所示。 

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

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

相关文章

使用Python实现二维码生成工具

二维码的本质是什么? 二维码本质上,就是一段字符串。 我们可以把任意的字符串,制作成一个二维码图片。 生活中使用的二维码,更多的是一个 URL 网址。 需要用到的模块 先看一下Python标准库,貌似没有实现这个功能的…

Python实现获取网页内容及自动填表单与登录功能

这篇文章主要为大家详细介绍了如何利用Python实现模拟浏览器启动,获取网页内容、自动填表单、自动登录、自动过验证码等功能,需要的可以参考一下 库 源码 知识点补充 食用前准备 python 3.10.10 #二维码的库ddddocr 需要 库 import time import d…

VMware虚拟机安装Linux(CentOS)【超详细】

参考大佬文章:VMware虚拟机安装Linux教程(超详细)_vmware安装linux虚拟机-CSDN博客 目录 一、获取映射文件 二、新建虚拟机 三、安装操作系统 四、切换系统用户 一、获取映射文件 参考大佬文章获取映射文件,以及对应修改后缀名的方法 二、新建虚拟…

python项目==一个web项目,配置模板指定文件清洗规则,调用模板规则清洗文件

代码地址 一个小工具。 一个web项目,配置模板指定文件清洗规则,调用模板规则清洗文件 https://github.com/hebian1994/csv-transfer-all 技术栈: SQLite python flask vue3 elementplus 功能介绍: A WEB tool for cleaning…

C#图像:1.图像区域分割与提取

(1)创建一个名为SplitImage的窗体的应用程序,将窗体改名为FormSplitImage。 (2)创建一个名为ImageProcessingLibrary的类库程序,为该工程添加名为ImageProcessing的静态类 (3)为Imag…

leetcode-滑动窗口的最大值-95

题目要求 思路 1.这个题是可以暴力求解的,但是时间复杂度比较高,因此,这里说一个时间复杂度为O(n)的方法 2.因为这个代码是优化后的结果,第一次写如果直接写成这样着实不容易,因此,我直接讲每一行的含义。…

光伏光热一体化技术PVT

1、PVT集热器简介 太阳能光伏光热一体化组件主要由光伏与光热两个部分组成。光伏部分采用技术成熟的太阳能光伏面板,通过控制系统为建筑提供所需电能,主要包括光伏电池、蓄电池、逆变器和控制器等构件。光热部分主要为集热器,将太阳能转换为热…

手写一个uart协议——rs232

先了解一下关于uart和rs232的基础知识 文章目录 一、RS232的回环测试1.1模块整体架构1.2 rx模块设计1.2.1 波形设计1.2.2代码实现与tb1.2.4 仿真 1.3 tx模块设计1.3.1 波形设计1.3.2 代码实现与tb1.3.4 顶层设计1.3.3 仿真 本篇内容: 一、RS232的回环测试 上位机…

记录:git上传自己的本地项目

📚博客主页:knighthood2001 ✨公众号:认知up吧 (目前正在带领大家一起提升认知,感兴趣可以来围观一下) 🎃知识星球:【认知up吧|成长|副业】介绍 ❤️感谢大家点赞👍&…

顺序循环队列--c语言实现

#include <stdio.h> #include <stdlib.h> #include <stdbool.h>#define MAX_SIZE 100 // 假设队列的最大长度为100// 队列结构体 typedef struct {int data[MAX_SIZE]; // 存储队列元素的数组int front; // 队头指针int rear; // 队尾指针 } SeqQueue;// 初…

Python爬虫--爬取糗事百科段子

爬取糗事百科段子&#xff1a; 段子在 <div class"content"> 里面的 <span> 标签里面 不过这里有个坑&#xff0c;div 标签跟 span 标签 之间有很多空行 普通 .*? 是匹配不了的&#xff0c;需要使用模式修饰符 S S 的意思 让 .(点) 匹配&#xff0c…

C语言零基础快速入门视频教程

C语言零基础快速入门视频教程 介绍C语言C语言零基础视频教程领取教程下期更新预报 介绍C语言 C语言零基础快速入门&#xff1a;探索C语言的起源、特性与魅力 在编程世界中&#xff0c;C语言犹如一座古老而坚实的桥梁&#xff0c;连接着计算机科学的过去与现在。作为一门历史悠…

项目管理【环境】过程

系列文章目录 【引论一】项目管理的意义 【引论二】项目管理的逻辑 【环境】概述 【环境】原则 【环境】过程 一、规划和管理项目的合规性 1.1 规划和管理项目的合规性 1.2 确认合规要求 1.3 审计&#xff1a;衡量合规的程度 二、项目管理计划和项目文件 2.1 项目管理计划和…

中华科技控股集团:人工智能标准化引领者与数字化服务新航程的启航者

4月30日, 矗立于时代科技潮头的中华科技控股集团&#xff0c;自2010年在香港这片国际金融沃土上诞生以来&#xff0c;便以其独特的国资背景与全球化视野&#xff0c;肩负起推动中国科技进步与产业升级的重任。作为国资委麾下的重要一员&#xff0c;中华科技始终坚持创新驱动发展…

[C++初阶]string类

1. 为什么要学习string类 1.1 C语言中的字符串 C语言中&#xff0c;字符串是以\0结尾的一些字符的集合&#xff0c;为了操作方便&#xff0c;C标准库中提供了一些str系列的库函数&#xff0c; 但是这些库函数与字符串是分离开的&#xff0c;不太符合OOP(面向对象)的思想&…

基于HSI模型的水下图像增强算法,Matlab实现

博主简介&#xff1a; 专注、专一于Matlab图像处理学习、交流&#xff0c;matlab图像代码代做/项目合作可以联系&#xff08;QQ:3249726188&#xff09; 个人主页&#xff1a;Matlab_ImagePro-CSDN博客 原则&#xff1a;代码均由本人编写完成&#xff0c;非中介&#xff0c;提供…

MYSQL从入门到精通(二)

1、MYSQL高级概述 【1】架构概述 【2】索引优化 【3】查询截取 【4】mysql锁机制 【5】主从复制 2、MYSQL概述 【1】mysql内核 【2】sql优化工程师 【3】mysql服务器的优化 【4】各种参数常量设定 【5】查询语句优化 【6】主从复制 【7】软硬件升级 【8】容灾百分 【9】sql编…

自动安装环境shell脚本使用和运维基础使用讲解

title: 自动安装环境shell脚本使用和运维基础使用讲解 tags: [shell,linux,运维] categories: [开发记录,系统运维] date: 2024-3-27 14:10:15 description: 准备和说明 确认有网。 依赖程序集&#xff0c;官网只提供32位压缩包&#xff0c;手动编译安装后&#xff0c;在64位机…

springboot整合mybatis配置多数据源(mysql/oracle)

目录 前言导入依赖坐标创建mysql/oracle数据源配置类MySQLDataSourceConfigOracleDataSourceConfig application.yml配置文件配置mysql/oracle数据源编写Mapper接口编写Book实体类编写测试类 前言 springboot整合mybatis配置多数据源&#xff0c;可以都是mysql数据源&#xff…

QT:布局管理器

文章目录 垂直布局使用QVBoxLayout来管理多个控件 水平布局使用QHBoxLayout管理控件 网格布局创建QGridLayout管理四个按钮设置元素的大小比例 表单布局 在之前QT的界面控件中&#xff0c;都是使用绝对定位来完成的&#xff0c;也就是说是用绝对坐标的方式来设置进去的 这样并…