• 微信号
  • 微信号
目录

javascript

您当前的位置:首页 > 我的笔记 > javascript>JS变量定义和赋值

JS变量定义和赋值

变量是所有编程语言的基础之一,可以用来存储数据,例如字符串、数字、布尔值、数组等,并在需要时设置、更新或者读取变量中的内容。我们可以将变量看作一个值的符号名称。

1. 变量的命名规则

在 JavaScript 中,变量名称并不能随便定义,需要遵循标识符的命名规则,如下所示:

$;
  • 变量名中不能出现汉字;
  • 变量名中不能包含空格;
  • 变量名不能是 JavaScript 中的关键字、保留字;
  • 变量名不能以数字开头,即第一个字符不能为数字。
  • 在定义变量时,变量名要尽量有意义,让自己或者他人能轻易看懂,例如可以使用 name 来定义一个存储姓名的变量、使用 dataArr 来定义一个数组类型的变量。

    当变量名中包含多个英文单词时,推荐使用驼峰命名法(大驼峰:每个单词首字母大写,例如 FileType、DataArr;小驼峰:第一个单词首字母小写后面的单词首字母大写,例如 fileType、dataArr)。

    提示:JavaScript 中的关键字、保留字不能作为变量的名称,这已在《JavaScript中的几个重要概念》一文中介绍。

    var 关键字,语法格式如下:

    var 变量名;

    举几个例子:

    var str; 
    //用来存储字符串 
    var age; 
    //用来存储年龄 
    var prePage; 
    , 
    分隔开,如下例所示:

    var a, b, c;// 同时声明多个变量

    变量定义后,如果没有为变量赋值,那么这些变量会被赋予一个初始值——undefined(未定义)。

    =来为变量赋值,等号左边的为变量的名称,等号右边为要赋予变量的值,如下例所示:
    var num; 
    // 定义一个变量 num 
    num = 1; 
    // 将变量 num 赋值为 1

    此外,也可以在定义变量的同时为变量赋值,如下例所示:

    var num = 1; 
    // 定义一个变量 num 并将其赋值为 1 
    var a = 2, b = 3, c = 4; 
    // 同时定义 a、b、c 三个变量并分别赋值为 2、3、4 
    // var a = 2, 
    // 为了让代码看起来更工整,上一行代码也可以写成这样 
    // 
    b = 3, 
    // 
    c = 4; 
    

    4. 变量提升

    JavaScript 在预编译期会先预处理声明的变量,但是变量的赋值操作发生在 JavaScript 执行期,而不是预编译期。

    document.write(str); //显示undefined 
    str = http://c.biancheng.net/js/; 
    document.write(str); //显示 http://c.biancheng.net/js/ 
    var str;

    在上面示例中,声明变量放在较后,赋值操作放在前面。由于 JavaScript 在预编译期已经对变量声明语句进行了预解析,所以第1行代码读取变量值时不会抛出异常,而是返回未初始化的值 undefined。第3行代码是在赋值操作之后读取,故显示为数字 1。

    JavaScript 引擎的解析方式是:先解析代码,获取所有被声明的变量,然后再一行一行地运行。 这样,所有声明的变量都会被提升到代码的头部,这就叫作变量提升(Hoisting)。

    5. let 和 const 关键字

    2015 年以前,JavaScript 只能通过 var 关键字来声明变量,在 ECMAScript6(ES6)发布之后,新增了 let 和 const 两个关键字来声明变量,其中:

    • 使用 let 关键字声明的变量只在其所在的代码块中有效(类似于局部变量),并且在这个代码块中,同名的变量不能重复声明;
    • const 关键字的功能和 let 相同,但使用 const 关键字声明的变量还具备另外一个特点,那就是 const 关键字定义的变量,一旦定义,就不能修改(即使用 const 关键字定义的为常量)。

    注意:IE10 及以下的版本不支持 let 和 const 关键字。

    示例代码如下:

    let name = "小明"; 
    // 声明一个变量 name 并赋值为“小明” 
    let age 
    = 11; 
    // 声明一个变量 age 
    let age 
    = 13; 
    // 报错:变量 age 不能重复定义 
    const PI = 3.1415 
    // 声明一个常量 PI,并赋值为 3.1415 
    console.log(PI) 
    // 在控制台打印 PI