zoukankan      html  css  js  c++  java
  • 从面试题中夯实基础

    问题1: js的基本类型有哪些?引用类型有哪些?引用类型和基本类型有什么区别?

    答:js基本类型:String、Number、Boolean、Null、Undefined。

      js引用类型:Array、Object、Function。

      举个例子来解释引用类型和基本类型的区别

    var a = 10;   
    var b = a;
    b = 20; // b = 20 a = 10

      上面,b获取值是a值的一份拷贝,虽然,两个变量的值是相等,但是两个变量保存两不同的基本数据类型值。b只是保存了a复制的一个副本。所以,当b的值改变时,a的值依然是10; 

      过程如下图所示:

    再举个引用类型的例子:

    var obj1 = new Object();
    var obj2 = obj1;
    obj2.name = "Nick";
    console.log(obj1.name); // Nick

    声明了一个引用类型obj1,并且赋值给了obj2;此时他们俩指向的是同一个堆内存,也就是说,一旦内存里的值改变了,那么相应引用它的对象也会发生改变,

    所以obj1的name字段也变成了‘Nick’。

    如下图所示:

      

      

    问题2: null和undefined的区别?

    答:说到这俩的区别,也没啥好说的,因为他们的表现都是一样的,!null和!undefined都是true,甚至null == undefiend 也是true。如非要给他们做个区别,

    那就要扯到90年代,JavaScript的最初版本没有包括错误处理机制,发生数据类型不匹配时,往往是自动转换类型或者默默地失败。Brendan Eich觉得,如果null自动转为0,很不容易发现错误。因此,Brendan Eich又设计了一个undefined。

    说的再细致一些就是,null是一个表示"无"的对象,转为数值时为0;undefined是一个表示"无"的原始值,转为数值时为NaN。

  • 相关阅读:
    通用的web系统数据导出功能设计实现(导出excel2003/2007 word pdf zip等)
    DALSA Coreco
    环境变量之执行文件路径的变量PATH
    命令与文件的查询
    软件开发工具GCC
    权限与命令之间的关系
    Linux防火墙
    网络管理
    分区及格式化
    VMware Workstation的网络连接方式:NAT、桥接和Host Only
  • 原文地址:https://www.cnblogs.com/Nick-chen/p/7940860.html
Copyright © 2011-2022 走看看