zoukankan      html  css  js  c++  java
  • JS中的变量和数据类型

    所谓变量,就是里面存储的数据是可以改变的。

    在使用变量之前,我们需要先声明变量。声明变量的关键字有var  let   const

    在ES里面声明变量可以使用var,如下:

    1
    2
    //var 变量名
    var i;

      如果声明了一个变量,但是没有给该变量赋值,那么该变量默认的值为undefined

    1
    2
    var i;
    console.log(i);   //undefined

      初始化

    所谓初始化,就是给变量进行第一次赋值

    1
    2
    3
    var i;
    i=5;//初始化
    console.log(i);

      变量的声明和初始化是可以同时进行的

    1
    2
    3
    4
    5
    var i=5;
    /*等价于 var i;
                i=5;
    */
    console.log(i);

      可以一次性声明多个变量

    1
    var i=5,j=10;

      重复声明:如果是var来声明变量,是可以重复声明的,ES里面不会报错

    1
    2
    3
    var i=5;
    var i=10;//相当于i=10
    console.log(i);

      如果重复声明变量的时候,只是声明而没有赋值,那么解释器会忽略这一条声明

    1
    2
    3
    war 1-5;
    var i;//重复声明
    console.log(i);//打印结果5

      遗漏声明

    所谓遗漏声明,就是指没有对变量进行声明,但是就直接拿来用。严格模式下不支持遗漏声明,并且也不要这样书写

    1
    2
    i=10;
    console.log(i);

      由于JS是一门解释性语言,所以在JS里面,所有的变量都可以用var  let  const来进行声明

    1
    2
    3
    var i=5;
    i=3.14;
    console.log(i);

      虽然可以将任意数据类型存储至同一个变量,但是不推荐这么做。因为这样会影响解析的效率。

    变量提升(重要)

    之所以现在不推荐使用var来声明变量,就是因为var申明的变量会有一个变量提升。

    所谓变量提升:就是指将变量的声明提升至当前作用域的顶部

    1
    2
    3
    4
    5
    console.log(i);
    var i=5;
    /*等价于 var i;
         console.log(i);
        i=5;<br>*/

      使用let或者const声明的变量就不存在变量提升,如下:

    1
    2
    console.log(i);
    let i=10;//报错

      Var声明的变量不存在块级作用域

    块级作用域就是一对大括号里面会产生一个单独的作用域

    1
    2
    3
    4
    5
    {
    var i =5;
    console.log(i);
    }
    console.log (i);  //5

     

    Let和const就拥有块级作用域

    1
    2
    3
    4
    5
    {
    let i=5;
    console.log(i);
    }
    console.log((i); //报错

      Const:创建的变量不能再被改变。

    1
    2
    3
    4
    const i=5;
    console.log(i);//5
    i=10;
    console.log((i);//报错

      JS里面的数据类型(非常重要)

    JS里面的数据类型可以分为两大类:基本数据类型  和  引用数据类型

    基本数据类型就是指最简单的数据段,不可拆分的

    引用数据类型是指有多个基本数据类型组成的数据,是可以被拆分的。

    常见的基本数据类型:Number,String,Boolean,Null,Undefiend,Symbol

    常见的引用数据类型:Array  Object

    基本数据类型和引用数据类型的区别:

    基本数据类型中,如果使用或者复制一个变量,那么是复制的值,而在引用数据类型中,如果使用或者复制一个变量,是复制的引用

  • 相关阅读:
    U3D开发中关于脚本方面的限制-有关IOS反射和JIT的支持问题
    APP发行渠道
    在WINDOWS上开发IOS应用的方法
    如何安全的在不同工程间安全地迁移asset数据?三种方法
    UNITY 的GC ALLOC到底是什么
    Dictionary,hashtable, stl:map有什么异同?
    如何成为一个优秀的高级C++程序员
    两点间所有路径的遍历算法
    技术人员的未来:做技术还是做管理?
    技术人员如何去面试?
  • 原文地址:https://www.cnblogs.com/bohou/p/9062853.html
Copyright © 2011-2022 走看看