zoukankan      html  css  js  c++  java
  • js基础面试高频面点2:Javascript中undefined和not defined有什么区别,和null又有什么联系?

    二、Javascript中undefined和not defined有什么区别?

      一句话:udefined为变量正常的数据类型,不是报错,而not defined是指变量没有定义,是报错。

      那么,什么是数据类型?js中数据类型有哪些?

      数据类型在数据结构中的定义是一组性质相同的值的集合以及定义在这个值集合上的一组操作的总称

      js中变量的数据类型有:

        值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。

        引用数据类型:对象(Object)、数组(Array)、函数(Function)。

        

        

        这个结果说明:

        1、数组和对象的类型都是object。

        2、用typeof只能检测出null为object。

        什么意思呢?

        null是什么东西?是值还是数据类型?什么值的数据类型是null?null和undefine究竟有什么千丝万缕的联系?

        在下认为:null可以是值,也可以是数据类型,null表示一个空对象的引用,对象的原型最终指向null。对于null的类型为object,这是js设计之初的历史  bug,可参考:http://2ality.com/2013/10/typeof-null.html,而null和undefined的值是相等的,但类型不同,所以:

        alert(null == undefined); // true
        alert(null === undefined); // false
        

        补充:
        
        

      

  • 相关阅读:
    REST论文原文
    Rest无状态的一点理解(转)
    Kafka入门
    C#中@的用法总结(转)
    反应器(Reactor)用于事件多路分离和分派的体系结构模式
    数据库的脏读、不可重复读、幻读
    面向对象执行过程内存分析
    基于oracle的sql优化
    深入理解Spring中bean的生命周期
    Spring 框架原理
  • 原文地址:https://www.cnblogs.com/dancer0321/p/10846157.html
Copyright © 2011-2022 走看看