• 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
        

        补充:
        
        

      

  • 相关阅读:
    HDU 4975 A simple Gaussian elimination problem.
    HDU 4888 Redraw Beautiful Drawings
    ZOJ 3795 Grouping
    HDU 4971 A simple brute force problem.
    ERROR: unable to bind listening socket for address ’127
    linux命令
    有关nginx的配置文件 之server
    CentOS LNMP环境搭建 各版本
    PHP扩展安装方法
    Nginx如何配置虚拟主机?
  • 原文地址:https://www.cnblogs.com/dancer0321/p/10846157.html
Copyright © 2020-2023  润新知