felix-cao / Blog

A little progress a day makes you a big success!
31 stars 4 forks source link

JavaScript 变量 #152

Open felix-cao opened 5 years ago

felix-cao commented 5 years ago

一、什么是变量

1.1、名字的重要性

变量(Variable)这个概念来源于数学,在初等数学中,变量是表示数字的字母符号。

在现实世界中,任何事物有了好听的名字就可以广泛的学习、传播和分享;在计算机编程语言中,变量有了名字就可以对它进行访问和修改。

在计算机世界中,几乎所有的编程语言最基本的功能之一就是能够存储变量当中的值,并能对这个值进行访问和修改。我们可以用“变量住在哪里”来形象的理解这种存储操作。

JavaScript 也一样, 变量就是内存中被分配的指定空间的名字,而变量的值是这个空间中存储的数据。 变量的名字通常又被称为 变量标识符, Identifier

符号是人类传播的要素。对传播双方来说具有相同理解的含义,是符号能够发生“传通”作用的基础。符号只有具备了足够的共同含义,才能参与传播,才能代表传播中的各种实际内容。符号含义的确定性,来自人们生活经验的积累,来自反复的传播活动中不断的对这些符号含义的观察与认同。符号是人们生活经验抽象的产物,是人类所特有的。只有人才能创造符号、理解符号的意义。

1.2、命名规则

变量标志符,指的是代码中用来标识变量 、函数、或属性的字符序列。标识符有一套命名规则,不符合规则的就是非法标识符。JavaScript引擎遇到非法标识符,就会报错。JavaScript 的变量标志符命名规范

  1. 标识符第一个字符必须是字母、下划线_或美元符号$,其后的字符可以是字母、数字或下划线、美元符号;
  2. 自定义的标识符不能和 JavaScript 中的关键字及保留字同名,但可以包含关键字或保留字;
  3. 标识符不能包含空格;
  4. 标识符不能包含+、-、@、#等特殊字符;
  5. 由多个单词组成的复合标识符命名主要有两种方式:
    • 使用下划线连接各个单词,每个单词全部小写,例如:dept_name。
    • 使用驼峰式,其中又分大驼峰和小驼峰。大驼峰的格式是每个单词的首字母大写,其余字母小写,

为了不引起不必要的问题,JavaScript 不允许使用保留关键字作变量名或函数名。这些保留关键字请参考 JavaScript 保留关键字

1.3、变量的存储

JavaScript 中的变量的存储包含三个部分:

二、如何声明变量

JavaScript 有六种变量声明(Declare a veriable)方式:

三、变量的作用域(如何访问变量)

请移步 JavaScript 作用域

四、JavaScript 变量的值的数据类型

JavaScript每一个值都有一个数据类型,类型是值的内部特征,限定了值的行为模式,即特定的数据类型的数据会有相应的行为模式。 不同的数据类型在程序中的作用是不同的:

JavaScript的变量是动态类型(dynamically typed),即在程序运行后,变量被赋予某个值之后,那么变量持有该值的数据类型,这也是JavaScript被为什么被称为“动态类型编程语言”的主要原因,关于语言的分类可以研究一下 类型系统(Type System)

有一种说法,JavaScript 中的变量是没有数据类型的,只有值才有。变量可以随时持有任何类型的值。 再翻译一遍,JavaScript不做“类型强制”;也就是说,语言引擎不要求变量总是持有与其初始值同类型的值。一个变量可以现在被赋值为字符串类型值,随后又被赋值为数字类值。

动态类型语言和静态类型语言

编程语言按照变量本身数据类型的不同分为动态类型语言和静态类型语言。 静态类型语言在编译时便已确定变量的类型,而动态类型语言的变量类型要等到程序运行时,变量被赋予某个值后,才会具有某种数据类型。

JavaScript 中,主要有八种数据类型: