• H5前端学习之路第4天--前端面试题 js


    1.js的数据类型,null 和 undefined的区别,原始数据类型和引用数据类型的对比

    (1).String,Object,Number,Boolean,Undefined,Null


    (2).undefined:表示缺少值,在使用var 声明变量但未对其加以初始化时,这个变量的值就是undefined。

         null:表示没有对象,空对象


    (3).

      原始数据类型:String,Number,Boolean,Undefined,Null

     引用数据类型:Object

       1)值存储方式不同:

        原始数据类型:将变量名和值都存储在栈内存中

          引用数据类型:将变量名存储在栈内存中,将值存储在堆内存中,并在栈内存中存储值的地址,该地址指向堆内存中的值。

         

     2)赋值方式不同:

       原始数据类型:当a赋值与b,两个变量以后进行值改变不会相互影响

      引用数据类型:a赋予b变量的是值地址,通过这个地址,两者指向的其实是堆内存中的同一个值,所以以后a,b任一变量对值进行改变,会直接影响另一个变量的值

    2.let与var的区别

     ①var作用域为该语句所在的函数内,且存在变量提升;并且在函数外调用变量,不会报错,为undefined

     ②let作用域为该语句所在的代码块内,不存在变量提升;在函数外调用变量,会报错

    例子:

    {
      let a = 125;
      var b = 521;
    }
    a // Uncaught ReferenceError: a is not defined
    b // 521

    {
        tmp='abc';//ReferenceError: tmp is not defined
        let tmp;

    test='11111';//11111
    var test; }
     
  • 相关阅读:
    TimeSpan的操作
    List<T>的排序和筛选
    编程中的一些概念
    SVN返回版本
    语音播报
    优化编译器的局限性
    Inline Functions 与它的形式参数和局部变量
    函数的效能 & 指向 Member Functions 的指针与其效能
    虚拟继承下 Virtual Function 的语意
    多重继承下 Virtual Function 的语意
  • 原文地址:https://www.cnblogs.com/mcll/p/11379008.html
Copyright © 2020-2023  润新知