JavaScript 变量、标识符、字面量

目录

变量

1、什么是变量

2、变量的使用

3、变量的命名规范

​编辑

4、变量提升

5、交换两个变量的值 案例

6、 变量 总结

标识符

字面量

注释

转义符


变量

1、什么是变量

变量就是一个装东西的盒子。

变量是用于存放数据的容器。我们可以通过 变量名 获取数据,甚至数据可以修改。

变量在内存中的存储

变量的本质:变量 是 程序 在内存中 申请的一块用来存放数据 的空间。

类似于酒店的房门,一个房间就可以看做是一个变量。

一个完整的 变量 是由 一个空间 和 变量名 组成的。

变量的作用主要用来存放数据的。

2、变量的使用

变量在使用时分为两步: (1)声明变量 (2)赋值

声明变量

var a = 1;

上面的代码中,var 是一个 JS 关键字,用来声明变量(variable变量的意思)。使用该关键字声明变量后,计算机会自动为变量分配内存空间,不需要程序员管。

使用 var 声明一个名称为 a 的变量,= 等号 用来把右边的值赋给左边的变量空间中,此处代表赋值的意思。

变量值是程序员保存到变量空间的值。

a 是程序员定义的变量名,我们要通过变量名来访问内存中分配 的空间。

上面的代码先声明变量a,然后在变量a与数值1之间建立引用关系,称为将数值1“赋值”给变量a。以后,引用变量名a就会得到数值1。它表示通知解释引擎,要创建一个变量a。

注意,JavaScript 的变量名区分大小写,A和a是两个不同的变量。

变量的声明和赋值,是分开的两个步骤,上面的代码将它们合在了一起,实际的步骤是下面这样。

var a;

a = 1;

如果只是声明变量而没有赋值,则该变量的值是undefined。undefined是一个 JavaScript 关键字,表示“无定义”。

如果变量赋值的时候,忘了写var命令,这条语句也是有效的。

var a = 1;   // 基本等同 a = 1;

但是,不写var的做法,不利于表达意图,而且容易不知不觉地创建全局变量,所以建议总是使用var命令声明变量。

如果一个变量没有声明就直接使用,JavaScript 会报错,告诉你变量未定义。比如下面 没有声明的变量b

上面代码直接使用变量b,系统就报错,告诉你变量b没有声明。

可以在同一条var命令中声明多个变量。

var a = 1;

a = '我';

a = 'true';

JavaScript 是一种 弱类型 或者说 动态类型 语言,也就是说,变量的类型没有限制,变量可以随时更改类型,只有在运行了之后,才能确定变量的类型的是什么。

var a = 1;

a = 'hello';

上面代码中,变量a起先被赋值为一个数值,后来又被重新赋值为一个字符串。第二次赋值的时候,因为变量a已经存在,所以不需要使用var命令。

如果使用var重新声明一个已经存在的变量,是无效的。

上面代码中,变量x声明了两次,第二次声明是无效的。

但是,如果第二次声明的时候还进行了赋值,则会覆盖掉前面的值。变量值将以最后一次赋的值为准。

var x = 1;

var x = 2;

// 等同于

var x = 1;

var x; x = 2;

3、变量的命名规范

4、变量提升

使用var 声明变量,出现变量提升,因为 var是函数作用域,而是 let 和 const 都属于块作用域

JavaScript 引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行地运行。这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,这就叫做变量提升(hoisting)。

console.log(a);

var a = 1;

上面代码首先使用console.log方法,在控制台(console)显示变量a的值。这时变量a还没有声明和赋值,所以这是一种错误的做法,但是实际上不会报错。因为存在变量提升,真正运行的是下面的代码。

var a;

console.log(a);

a = 1;

最后的结果是显示undefined,表示变量a已声明,但还未赋值。

5、交换两个变量的值 案例

<title>变量案例弹出用户名</title>
<script>
    //1、用户输入姓名   存储到一个myname 的变量里面
    var myname = prompt('请输入你的名字');
    alert('欢迎' + myname + '回来!\n 祝你在这里玩得开心')
</script>

<script>
    /**
     * 交换两个变量的值 案例
     * js 是编程语言有很强的逻辑性在里面:
     实现这个要求的思路,先怎么做后怎么做?
     * 1、我们需要一个临时变量 temp 帮我们,它是空的
     * 2、把apple1 赋值给 我们的临时变量 temp
     * 3、把apple2 里面的 苹果给 apple1
     * 4、把 临时变量 temp里面的值给 apple2。
    */
    var temp;
    var apple1 = '青苹果';
    var apple2 = '红苹果';
    temp = apple1;
    apple1 = apple2;
    apple2 = temp;
    console.log("apple1 是" + apple1);
    console.log("apple2 是" + apple2);
</script>

6、 变量 总结

为什么需要变量?

因为我们一些数据需要保存,所以需要变量。

变量是什么?

变量就是一个容器,用来存放数据的。方便我们以后使用里面的数据。

变量的本质是什么?

变量是内存里的一块空间,用来存储数据。

变量怎么使用的?

我们使用变量的时候,一定要声明变量,然后赋值。声明变量的本质是去内存申请空间。

什么是变量的初始化?

声明变量并赋值的这个过程,我们称之为变量的初始化。

变量命名规范有哪些?

变量名尽量要规范,见名知其意,驼峰命名法。

标识符

标识符(identifier)指的是用来识别各种值的合法名称。

最常见的标识符就是变量名,以及后面要提到的函数名。

JavaScript 语言的标识符对大小写敏感,所以a和A是两个不同的标识符。

标识符有一套命名规则,不符合规则的就是非法标识符。JavaScript 引擎遇到非法标识符,就会报错。标识符命名规则如下:

1、标识符不能包含 * 星号 不能包含 + 加号 不能包含 -减号或 连词线 

2、第一个字符,不能是数字,可以是任意 Unicode 字母(包括英文字母和其他语言的字母),
   以及美元符号($)和下划线(_)。 

3、第二个字符及后面的字符,除了 Unicode 字母、美元符号和下划线,还可以用数字0-9。

下面这些都是合法的标识符。

arg0 _tmp $elem π

下面这些则是不合法的标识符。

1a   // 第一个字符不能是数字

23   // 同上

***  // 标识符不能包含星号

a+b   // 标识符不能包含加号

-d    // 标识符不能包含减号或连词线

中文是合法的标识符,可以用作变量名。

var 临时变量 = 1;

JavaScript有一些保留字,不能用作标识符:

arguments、break、case、catch、class、const、continue、
debugger、default、delete、do、else、enum、eval、export、
extends、false、finally、for、function、if、implements、
import、in、instanceof、interface、let、new、null、package、
private、protected、public、return、static、super、switch、
this、throw、true、try、typeof、var、void、while、with、yield。

字面量

字面量 是 在源代码中一个固定值的表示法,通俗来说 , 就是字面量表示如何表达这个值?

数字字面量 : 3 , 4 , 5 , 6

符串字面量 :'大前端' , '黑客'

布尔字面量 : true false

注释

源码中被 JavaScript 引擎忽略的部分就叫做注释,它的作用是对代码进行解释。Javascript 提供两种注释的写法:一种是单行注释,用//起头;另一种是多行注释,放在/*和*/之间。

// 这是单行注释       crtl + / 

/* 
这是多行注释        Alt + Shift + A
*/

转义符

\b    代表退格。
\t    代表一个制表符,即一个Tab空格。
\n    换行回车。
\v    垂直的制表符。
\r    回车。
\"    双引号。
\'    单引号。
\\    反斜线 , 即 \ 。

以上的内容均来自 个人学习笔记,此文最终解释权归本人所有!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值