为什么null是一个对象,null和undefined有什么区别?

为什么null在JavaScript中被视为object

正在检查

if ( object == null )
      Do something

相同

if ( !object )
      Do something

还有:

nullundefined之间有什么区别?

(name is undefined)

* :什么是name?(
JavaScript:** name?什么是name?我不知道你在说什么。您之前从未提及任何name。你在(客户端)方面看到其他一些脚本语言吗?

name = null;

** name是什么? JavaScript:** 我不知道。

总之; undefined是没有事物的概念存在;它没有类型,在这个范围之前从来没有被引用。 null是事物已知存在的地方,但是它不知道这个值是什么。

有一件事要记住的是,null在概念上与false等不一样,即使它们相等类型转换后,即

name = false;

** name是什么? JavaScript:** 布尔值为false。

name = &# 大专栏  为什么null是一个对象,null和undefined有什么区别?39;';

** name是什么? JavaScript:** 空字符串



在这个上下文中,name是一个从未被定义过的变量。这可能是任何未定义的变量。但是,名称是任何HTML表单元素的属性。它回到原点,并在id之前建立。这很有用,因为ID必须是唯一的,但名称不一定是。
功能

差异可以概括为这个片段:

alert(typeof(null));      // object
alert(typeof(undefined)); // undefined

alert(null !== undefined) //true
alert(null == undefined)  //true

检查

对象== null 与检查 if(!object)`是不同的。

后者等于!布尔(对象),因为一元操作符会自动将右操作数转换为布尔值。

由于 Boolean(null)等于false,所以!false === true `。

因此,如果您的对象为 不为空 false0 或 **/ strong>,支票将通过 这是因为:

alert(Boolean(null)) //false
alert(Boolean(0))    //false
alert(Boolean(""))   //false

未经作者同意,本文严禁转载,违者必究!

原文地址:https://www.cnblogs.com/wangziqiang123/p/11696977.html

时间: 2024-10-12 16:02:35

为什么null是一个对象,null和undefined有什么区别?的相关文章

原!! java直接打印一个对象时,并不是直接调用该类的toString方法 ,而是会先判断是否为null,非null才会调用toString方法

网上看了好多java直接打印一个对象时,直接调用该类的toString方法 . 但是: Object obj=null; System.out.println(obj);//没有报错 System.out.println(obj.toString());//报空指针异常 System.out.println(obj);既然也是直接调用toString方法,为什么不报错??? 原因总结如下: 1.调用Object类的toString方法,必须保证object不是null值,否则将抛出NullPoi

Javascript中的undefined、null、""、0值和false的区别总结

在程序语言中定义的各种各样的数据类型中,我们都会为其定义一个"空值"或"假值",比如对象类型的空值null,.NET Framework中数据库字段的空值DBNull,boolean类型的假值false等等.在JavaScript中也有很多种的"空值"和"假值",那么它们都有什么共同点和不同点呢? 其实标题里面我已经列出了JavaScript中所有的"空值"和"假值",除了boolean

nil,Nil,NULL,NSNull,[NSNull null]

nil:指向oc中对象的空指针 Nil:指向oc中类的空指针 NULL:是一个通用指针(泛型指针),指向其他类型的空指针,如一个c类型的内存指针 NSNull:在集合对象中,表示空值的对象 [NSNull null]:是一个对象,他用在不能使用nil的场合.在集合中不能存放nil值,因为在NSArray和NSDictionary中nil有特殊的含义.但是在有些时候,确实需要用到这样的空值,比如在字典中,电话簿中"Jack"关键字下有电话号码.家庭住址.Emai等等信息,但是现在只知道他

2>&1 >/dev/null & 与/dev/null 2>&1含义

/dev/null 代表空设备文件 > 代表重定向到哪里,例如:echo "123" > /home/123.txt 1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null" 2 表示stderr标准错误 & 表示等同于的意思,2>&1,表示2的输出重定向等同于1 1>/dev/null 首先表示标准输出重定向到空设备文件,也就是不输出任何信息到

【MySQL】探究之null与not null

相信很多用了mysql很久的人,对这两个字段属性的概念还不是很清楚,一般会有以下疑问: 我字段类型是not null,为什么我可以插入空值 为毛not null的效率比null高 判断字段不为空的时候,到底要 select * from table where column <> '' 还是要用 select * from table where column is not null 呢. 带着上面几个疑问,我们来深入研究一下null 和 not null 到底有什么不一样. 首先,我们要搞清

MySQL中的字段约束 null、not null、default、auto_increment

在MySQL中,每个字段定义都包含附加约束或者修饰符,这些可以用来增加对所输入数据的约束.今天我们来看一下MySQL的字段约束:NULL和NOT NULL修饰符.DEFAULT修饰符,AUTO_INCREMENT修饰符. NULL 和 NOT NULL 修饰符: 可以在每个字段后面都加上这NULL 或 NOT NULL 修饰符来指定该字段是否可以为空(NULL),还是说必须填上数据(NOT NULL).MySQL默认情况下指定字段为NULL修饰符,如果一个字段指定为NOT NULL,MySQL则

数据库表字段,DEFAULT NULL与NOT NULL DEFAULT

为什么要把字段设置成not null 呢? 1.空值是不占用空间的 2.mysql中的NULL其实是占用空间的,下面是来自于MYSQL官方的解释 "NULL columns require additional space in the row to record whether their values are NULL. For MyISAM tables, each NULL column takes one bit extra, rounded up to the nearest byt

SQL语句中=null和is null

平时经常会遇到这两种写法:IS NOT NULL与!=NULL.也经常会遇到数据库有符合条件!=NULL的数据,但是返回为空集合.实际上,是由于对二者使用区别理解不透彻. 默认情况下,推荐使用 IS NOT NULL去做条件判断,因为SQL默认情况下对WHERE XX!= Null的判断会永远返回0行,却不会提示语法错误. 这是为什么呢? SQL Server文档中对Null值的比较运算定义了两种规则,如在SQL Server 2000中: 规则一是是ANSISQL(SQL-92)规定的Null

org.dom4j.DocumentException: null Nested exception: null

1.错误描述 org.dom4j.DocumentException: null Nested exception: null at org.dom4j.io.SAXReader.read(SAXReader.java:484) at org.dom4j.io.SAXReader.read(SAXReader.java:343) at com.you.dom.utils.Reader.main(Reader.java:50) Nested exception: java.net.Malforme