• 变量


    什么是变量

    变量是储存数据信息的容器。

    变量被认为是有名字的容器器。在代码中,使⽤用变量量名为值命名,需要遵循⼀一定的规则。

    在 JavaScript 代码中,必须先声明⼀一个变量量,这个变量才能被使⽤用。 JavaScript 中的变量量是弱类型的,也被称之为松散型的。

    所谓弱类型/松散型,就是指可以⽤用来保存任何类型的数据。

    变量的声明

    在 JavaScript 中,使⽤用变量量前应当先声明。变量量是使⽤用关键字 var 声明的。

    只声明,未初始化,变量量的值⾃自动取值为 undefined

    ⼀⾏代码只声明⼀一个变量量:

    var a; // 值为 undefined
     var num; // 值为 undefined

    ⼀⾏代码声明多个变量量:

    var x, y, z; // 值为 undefined

    将变量的声明和初始化合写在一起

    ⼀行代码只声明⼀一个变量量并赋值:

    var sum = 100; // 值为 100
     var msg = "this is a message"; // 值为 this is a message

    ⼀行代码声明多个变量量并赋值:

    var x = 0, y = 1, z = 2; 
    var x = y = z = 10; // x y z 值都为 10

    命名规则

    变量的命名需要遵守一定的规则,具体则如下:

    • 必须以字⺟母、下划线 _ 、美元符号 $ 开始。
    • 不能以数字开头。
    • 不能使⽤用关键字和保留留字作为名称。
    • 由于 JavaScript 是区分⼤大⼩小写的,⼤大写字⺟母与⼩小写字⺟母并不不冲突。
    • 名称最好有明确的含义。
    • 可以采⽤用“下划线命名法”、“驼峰命名法”等。

    声明的问题

    重复声明

    使⽤用 var 语句句重复声明变量量是合法且⽆无害的。但是,如果重复声明并初始化的,由于 JavaScript 变量量只 能存储⼀一个数据,之前存储的数据会被覆盖掉。

    var sum = 100; 
    var sum = "abc";

    遗漏的声明

    • 直接读取⼀个没有声明的变量的值,JavaScript 会报错。
    • 为一个没有声明的变量初始化,是合法的,但并不推荐这样使用。

    变量的使⽤

    对声明的变量量既可以读取操作,也可以赋值操作。

    • 读取操作
    var sum; // 只声明未初始化 
    console.log(sum); // 输出 undefined
     var msg = "hello"; // 声明并初始化 
    console.log(msg); // 输出 hello
    • 赋值操作
    var sum; // 只声明未初始化
     sum = 100; // 初始化操作
     var msg = "hello"; // 声明并初始化
     msg = "world"; // 重新赋值

    变量提升

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

    例如:

    console.log(a);
     var a = 1;
     console.log(a);

    输出结果:

    undefined
     1

    说明:

    1. 上面的代码等同于:

    var a;
     console.log(a); 
    a = 1; 
    console.log(a);

    2. 变量声明被提升到头部时还没有赋值,所以默认等于 undefined

    3. 变量提升只对 var 命令声明的变量有效。如果一个变量不是⽤ var 声明的,就不会发⽣变量提 升。

  • 相关阅读:
    [Python] 糗事百科文本数据的抓取
    [Python] 文件扫描
    [Python] 根据博客园用户名抓取其所有文章的标题及其链接
    ParagraphString
    IrregularGridCollectionView处理不定宽度的标签cell
    Java多线程与并发
    设计模式之代理模式
    javascript设置百分比保留两位小数。
    Java基础知识总结(异常机制、集合、JUC、IO)
    Java底层知识JVM、GC
  • 原文地址:https://www.cnblogs.com/zuiai/p/7141356.html
Copyright © 2020-2023  润新知