变量

121 阅读3分钟

在程序运行过程中其值可以改变的量,是一个数据存储空间的表示,即给内存空间起别名。 将数值通过变量进行存储,以便程序随时使用,通俗点来说,变量就是用来存储数据的。

变量的声明

在JS语言中我们对变量的声明是非常简单的,只需要var关键字即可。 因为JS语言是一种弱类型的语言所以不需要在定义变量的时候指定变量的类型。

    // 先声明后赋值
    // 声明一个变量
    var num1;
    // 为该变量赋值
    num1 = 10;// 将数字10赋值给变量num1

    // 同时声明并赋值
    // 声明一个变量stuName并为其赋值
    var stuName = 'tom';

    // 不声明直接赋值
    // 将数字20赋值给变量num2
    num2 = 20;// 不推荐    

我们每在程序中声明一个新的变量就是在内存中开辟出一块新的空间,这块空间的拥有一个名称,但是内存自动分配的名称很可能是这样的:01x0001x。这样的名称是及其不利于记忆的,所以我们会自己为该内存空间起一个容易被记忆的名称:num1。

变量的访问

每一个变量都在内存中有一块单独的空间并且也会有一个别名,所以我们在访问变量的时候直接变量名即可。

    console.log(num1);
    console.log(num2);
    console.log(stuName);

变量的命名规范

我们可以为每一个变量取不同的名称,这些名称能够很好的帮助我们快速的理解变量里所存的值代表了什么,所以JS对变量的命名有一套严格的规范。

  • 变量名也叫:标识符
  • 只能由数字、字母、下划线和$符号组成,但是不能以数字开头
  • 不可以使用JS中的关键字和保留字
    • 关键字:被JS语言赋予了特殊含义的单词
    • 保留字:心啊在还没有被JS使用,但是将来可能会被使用的单词
  • 严格区分大小写

我们的推荐:

  • 变量名需要见名知意
  • 使用驼峰式和下划线式命名法
    • 驼峰: myClassName
    • 下划线: my_class_name

关键字

break case catch continue default
delete do else false finally
function for if in instanceof
new null return switch this
throw true try typeof var
void while with

保留字

abstrcct boolean byte char class const debugger double
enum export extends final float goto implements import
int interface long native package private protected public
short static super synchronized throws transient volatile

变量的数据类型

变量的数据类型指的是变量中存储的是什么样的数据。 例如,我们声明变量:

    var a = 10;

上面的变量a中存储的数字10,那么变量a的数据类型就为:number。 在JS语言基本数据类型有:

  • number:数字。表述整数或浮点数(小数) => 10,20,30...
  • string:字符串。被引号括起来的部分 => 'hello',"world",'哈哈'...
  • boolean:布尔。表示真假(对/错) => true,false
  • undefined:未定义(特殊)。表示变量已经声明但是未赋值的一中不正常的状态
  • null:空(特殊)。表示什么都没有...

typeof:数据类型判断

我们知道JS中拥有5中基本数据,这几种数据类型我们可以借助一个函数/运算符来达到准确的判断。 typeof(变量):typeof后面跟圆括号,此时是一个函数。

    var num = 10;
    typeof(num);// number

    var str = 'hello';
    typeof(str);// string

    var flag = true;
    typeof(flag);// boolean

    var a;
    typeof(a);//undefined

    var n = null;
    typeof(n);// object

typeof 变量:typeof后面如果没有圆括号而是接一个空格再跟变量就是运算符。

    var num = 10;
    typeof num;// number

    var str = 'hello';
    typeof str;// string

    var flag = true;
    typeof flag;// boolean

    var a;
    typeof a;//undefined

    var n = null;
    typeof n;// object

这里我们需要注意,当变量的值为null的时候我们得到的结果为:object,这是一种非常特殊的情况,具体原因我们会在面相对象的课程中具体讲解,暂时先不做展开讨论。