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个,如表所示。 

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

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

相关文章

多线程与信号量简介

信号量与 PV 操作 计算机中信号量的本质是整数,数值表示可用的资源数量 P 操作 (Passeren > 通过, 原子操作) 若信号量 0,当前任务阻塞 (进入信号量等待队列)若信号量 > 0,则:将信号量数值减一,当前任务继续执…

你知道什么是防抖和节流吗?

目录 1 先举个例子 2 使用场景 3 代码实现 3.1 防抖的实现 3.2 节流的实现 1 先举个例子 防抖,更像是坐电梯,早上眼看9点了,都着急坐电梯上去打卡,但眼看电梯要关了,进来一个人,等几秒,…

uniapp乡村社区户籍问外来人员管理系统 微信小程序python+java+node.js+php

基于微信小程序的外来人员管理系统项目的概述设计分析,主要内容有的私教预约平台系统平台的具体分析,进行数据库的是设计,数据采用MySQL数据库,并且对于系统的设计采用比较人性化的操作设计,对于系统出现的错误信息可以…

信创 | 信创产业人才需求与培养机制:优化策略与实践探索

信创产业的人才需求与培养机制面临着多方面的挑战和机遇。首先,信创产业的快速发展带来了巨大的人才需求,但目前人才培养供给与企业发展需求之间存在不匹配的问题。这种不匹配主要表现在课程体系不健全、产教融合不够深入、校企联动性不足以及职业培训市…

探索动态内存开辟的奥秘

✨✨欢迎👍👍点赞☕️☕️收藏✍✍评论 个人主页:秋邱博客 所属栏目:C语言 前言 开始之前,我们先来了解一下C/C中程序内存区域划分。 在C/C程序中,内存区域通常被划分为以下几个部分: 1.栈&…

第16章 基于结构的测试技术(白盒测试技术)

一、静态测试技术 (一)概述 不运行程序代码的情况下,通过质量准则或其他准则对测试项目进行检查的测试类型,人工或工具检查。 1、代码检查 2、编码规则检查 3、静态分析 静态分析概述 不需要执行程序 控制流分析 通过生成…

短视频矩阵系统源码==3年源头开发

一 短视频矩阵系统具备以下特点: 1.内容管理功能:用户可以在系统中多账号托管 一次性上传、编辑和发布多个短视频平台的内容,无需在每个平台上重复操作,从而提高工作效率并保持内容的一致性和高质量 2.批量剪辑视频:系统支持上传批量素材管理剪辑 视频…

Visual studio调试技巧

Visual studio调试技巧 bug是什么?Debug和ReleaseDebugRelease 如何调试VS调试快捷键调试过程中查看程序信息查看临时变量的值查看内存信息查看调用堆栈查看汇编信息查看寄存器信息 编译常见错误编译型错误链接型错误运行时错误 bug是什么? bug的英文释…

SAM:Segment Anything Model

论文(ICCV,fackbook):Segment Anything 源码: https://github.com/facebookresearch/segment-anything demo:Segment Anything | Meta AI (segment-anything.com) 一、摘要 本文介绍了“Segment Anything…

活动回顾 | 春起潮涌——硬件驱动的量化交易与AI

4月20日,华锐技术ACLUB联合AMD在上海举办了“春起潮涌——硬件驱动的量化交易与AI”沙龙活动,会议围绕FPGA硬件加速、CPU&网卡调优、AI技术应用等展开,近50位量化IT与分享嘉宾一起探讨硬件技术在量化交易和AI领域的应用和创新。 FPGA在交…

【C++第七课-string用法】

这里写自定义目录标题 string的初步介绍sring的构造函数string的构造函数-重点掌握无参的构造函数用常量字符串来初始化拷贝构造 string的构造函数-非重点掌握拷贝字符串str从pos位置开始的len个字符拷贝字符串s的前n个字符用n个c去初始化 string的赋值string的遍历和访问下标[…

爬虫自动化之drissionpage实现随时切换代理ip

目录 一、视频二、dp首次启动设置代理三、dp利用插件随时切换代理一、视频 视频直接点击学习SwitchyOmega插件使用其它二、dp首次启动设置代理 from DrissionPage import ChromiumPage, ChromiumOptions from loguru

matplotlib/seaborn 绘图可视化全面总结

1.概述 使用Matplotlib 绘图实现可视化时,会面临不同的需求有所调整,本文档重点对绘图过程中产生的一些小众需求进行全面总结,其他任务时可以随时即抽即用。 2.绘图 2.1 一般绘图 plt.figure() 参数设置说明 matplotlib.pyplot.figure( …

C++设计模式-创建型设计模式

设计模式 设计模式是什么 设计模式是指在软件开发中,经过验证的,用于解决在特定环境下,重复出现的,特定问题的解决方案;其实就是解决问题的固定套路。但是要慎用设计模式,有一定的工程代码量之后用它比较…

【论文阅读】Tutorial on Diffusion Models for Imaging and Vision

1.The Basics: Variational Auto-Encoder 1.1 VAE Setting 自动编码器有一个输入变量x和一个潜在变量z Example. 获得图像的潜在表现并不是一件陌生的事情。回到jpeg压缩,使用离散余弦变换(dct)基φn对图像的底层图像/块进行编码。如果你给…

先电2.4的openstack搭建

先电2.4版本的openstack,前期虚拟机部署参考上一篇2.2版本,基本步骤是一样的,准备两个镜像文件CentOS-7.5-x86_64-DVD-1804.iso,XianDian-IaaS-V2.4.iso [rootcontroller ~]# cat /etc/sysconfig/network-scripts/ifcfg-eno16777…

华为OD机试 - 小扇和小船的数字游戏 - 二进制(Java 2024 C卷 200分)

华为OD机试 2024C卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷C卷)》。 刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试…

论文笔记(四十五)Attention Is All You Need

Attention Is All You Need 文章概括摘要1. 介绍2. 背景3. 模型架构3.1 编码器和解码器堆栈3.2 Attention3.2.1 按比例点积Attention3.2.2 Multi-Head Attention3.2.3 注意力在模型中的应用 3.3 定位前馈网络3.4 嵌入与 Softmax3.5 位置编码 4 为什么 Self-Attention5. Trainin…

ssm104园区停车管理系统+jsp

园区停车管理系统的设计与实现 摘 要 网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管…

P9422 [蓝桥杯 2023 国 B] 合并数列

P9422 [蓝桥杯 2023 国 B] 合并数列 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 用队列即可 当两个队列队首&#xff1a;a b &#xff0c;弹出 当a < b&#xff0c;把a加给其后一个元素&#xff0c;弹出a 当b < a&#xff0c;把b加给其后一个元素&#xff0c;弹出…