美文网首页
认识null和undefined

认识null和undefined

作者: Ps_野爹 | 来源:发表于2018-08-12 13:36 被阅读0次

    undefined的来源

        1、null在Java中被当成一个对象。但是JavaScript的数据类型分为原始类型和引用类型,设计者觉得“无”最好表示不为对象    

        2、JavaScript的最初版本没有包括错误处理机制,发生数据类型不匹配时,往往会自动转换类型或者默默地失败,设计着觉得,如果null自动转成0后,不容易定位错误。

    两者区别与联系

    null和undefined都表示“值的空缺”,你可以任务undefined是表示系统级的、出乎意料的或类似错误的值的空缺, 而null是程序级的、正常的或在意料之中的值的空缺  (来自JavaScript权威指南)

    undefined 表示访问一个未初始化的变量返回的值。null值表示一个空对象的指针,这也是使用typeof操作符检测null会返回“object”的原因。

    如果定义的变量准备将来用户保存对象,那么最好将该变量初始化为null而不是其他值。

    实际上,undefined值是派生自null值的,因此ECMA-262规定对他们的相等的测试要返回true。

    注:1、无论什么情况下,都没有必要把一个变量的值显示的设置为undefined

            2、想要明确声明的变量是对象类型,就应该显示的设置为null

    好处:不仅可以体现null作为空对象指针的惯例,而且也有助于进一步区分null和undefined

    应用场景

    null表示“没有对象”,即该处不应该有值。典型用法为:

    1、作为函数的参数,表示该函数的参数不是对象

    2、作为对象原型链的终点

    3、在JS的DOM元素获取中,如果没有获取到指定的元素对象,一般返回null

    undefined表示“缺少值”,就是此处应该有一个值,但是没有定义,典型用法为:

    1、变量被声明,但没有赋值时,就等于undefined

    2、调用函数时,应该提供的参数没有提供,就等于undefined

    3、对象没有赋值的属性,该属性的值为undefined

    4、函数没有返回值时,默认返回undefined

    判断undefined和null

    判断undefined

    判断null

    相关文章

      网友评论

          本文标题:认识null和undefined

          本文链接:https://www.haomeiwen.com/subject/rgxikxtx.html