1楼:匿名用户
null和undefined都是javascript中的基本数据类型,但在使用上比较大的区别。
在类型上的区别typeof(null);//返回objecttypeof(undefined);//返回undefined在使用上的区别null代表数据项有定义,但是没有赋值,此时初始值为null(空)undefined代表数据项没有定义,也就没有初始值,因此也就是undefined(未定义)
document.documentelement.onclick//返回null
document.documentelement.on**ile//返回undefined
javascript中null和undefined的区别?
2楼:爱佳佳的恐龙
1.类型不一样:
console.log(typeof undefined);//undefined
console.log(typeofnull);//object2.转化为值时不一样:
undefined为nan ,null为0console.log(number(undefined));//nan
console.log(number(10+undefined));//nan
console.log(number(null));//0console.log(number(10+null));//103.
undefined===null;//falseundefined==null;//true
3楼:
在javascript中存在这样两种原始类型:null与undefined。这两种类型常常会使javascript的开发人员产生疑惑,在什么时候是null,什么时候又是undefined?
undefined类型只有一个值,即undefined。当声明的变量还未被初始化时,变量的默认值为undefined。
null类型也只有一个值,即null。null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。
js **
varovalue;
alert(ovalue==undefined);//output"true"
这段**显示为true,代表ovlaue的值即为undefined,因为我们没有初始化它。
js **
alert(null==document.getelementbyid('notexistelement'));
当页面上不存在id为"notexistelement"的dom节点时,这段**显示为"true",因为我们尝试获取一个不存在的对象。
js **
alert(typeofundefined);//output"undefined"
alert(typeofnull);//output"object"
第一行**很容易理解,undefined的类型为undefined;第二行**却让人疑惑,为什么null的类型又是object了呢?其实这是javascript最初实现的一个错误,后来被ecmascript沿用下来。在今天我们可以解释为,null即是一个不存在的对象的占位符,但是在实际编码时还是要注意这一特性。
js **
alert(null==undefined);//output"true"
ecmascript认为undefined是从null派生出来的,所以把它们定义为相等的。但是,如果在一些情况下,我们一定要区分这两个值,那应该怎么办呢?可以使用下面的两种方法。
js **
alert(null===undefined);//output"false"
alert(typeofnull==typeofundefined);//output"false"
使用typeof方法在前面已经讲过,null与undefined的类型是不一样的,所以输出"false"。而===代表绝对等于,在这里null === undefined输出false。
4楼:匿名用户
undefined表示
变量声明但未初始化时的值,
null表示准备用来保存对象,还没有真正保存对象的值。从逻辑角度看,null值表示一个空对象指针。
javascript(ecmascript标准)里共有5种基本类型:undefined, null, boolean, number, string,和一种复杂类型object。可以看到null和undefined分属不同的类型,未初始化定义的值用typeof检测出来是"undefined"(字符串),而null值用typeof检测出来是"object"(字符串)。
任何时候都不建议显式的设置一个变量为undefined,但是如果保存对象的变量还没有真正保存对象,应该设置成null。
实际上,undefined值是派生自null值的,ecmascript标准规定对二者进行相等性测试要返回true,即
alert(null==undefined);//true
5楼:犬瘟热
undefined类型只有一个值,即undefined。当声明的变量还未被初始化时,变量的默认值为undefined。
null类型也只有一个值,即null。null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。
拓展资料:javascript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为javascript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在html(标准通用标记语言下的一个应用)网页上使用,用来给html网页增加动态功能。
在1995年时,由***scape公司的brendan eich,在网景导航者浏览器上首次设计实现而成。因为***scape与sun合作,***scape管理层希望它外**起来像java,因此取名为javascript。但实际上它的语法风格与self及scheme较为接近。
为了取得技术优势,微软推出了jscript,cenvi推出scriptease,与javascript同样可在浏览器上运行。为了统一规格,因为javascript兼容于ecma标准,因此也称为ecmascript。
6楼:匿名用户
它们都是javascript的基本数据类型之一
区别:undefined:当声明的变量还未被初始化时,变量的默认值为undefined。
null:用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。
一般可以这么检验
vara=null
varb=undefined
varc;
console.log('**********==')
console.log(a==b)//true
console.log(a===b)//false
console.log(b===c)//注意:返回true
console.log('**********==')
console.log(a===null)//true
console.log(b===null)//false
console.log('**********==')
console.log(a===undefined)//false
console.log(b===undefined)//true
一般在条件if中,无论a是null还是undefined,都会这么使用
if(!a)
7楼:匿名用户
这个我喜欢用java中的内存
堆栈模型来解释(注:只是类比,javascript不是java,还有这是我自己的理解,我不知道有没有其他人是这么理解的)
null相当于在栈里有变量了,但是没有指向堆里的地址undefined是连栈里都没有
8楼:匿名用户
null是不存在
undefined错误、不明确、未定义
一般在js中判断空值的作法如下
if(s==null||s==undefined||s=="")
9楼:匿名用户
undefine是未定义的对象
null是定义的对象 但是没有实例 ....
可以理解为null是defined了的obj只是没有赋值或new
js中,null和undefined的区别? 20
10楼:屠龙阿九
undefined类型只有一
个值,即undefined。当声明的变量还未被初始化时,变量的默认值为
内undefined。
null类型也只有容一个值,即null。null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。
例1:js **:
var ovalue;
alert(ovalue == undefined); //output "true"
这段**显示为true,代表ovlaue的值即为undefined,因为我们没有初始化它。
例2:js **:
alert(null == document.getelementbyid('notexistelement'));
当页面上不存在id为"notexistelement"的dom节点时,这段**显示为"true",因为我们尝试获取一个不存在的对象。
例3:js **:
alert(typeof undefined); //output "undefined"
alert(typeof null); //output "object"
js中null和undefined的区别
11楼:
在javascript中存在这样两种原始类型:null与undefined。这两种类型常常会使javascript的开发人员产生疑惑,在什么时候是null,什么时候又是undefined?
undefined类型只有一个值,即undefined。当声明的变量还未被初始化时,变量的默认值为undefined。
null类型也只有一个值,即null。null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。
js **
varovalue;
alert(ovalue==undefined);//output"true"
这段**显示为true,代表ovlaue的值即为undefined,因为我们没有初始化它。
js **
alert(null==document.getelementbyid('notexistelement'));
当页面上不存在id为"notexistelement"的dom节点时,这段**显示为"true",因为我们尝试获取一个不存在的对象。
js **
alert(typeofundefined);//output"undefined"
alert(typeofnull);//output"object"
第一行**很容易理解,undefined的类型为undefined;第二行**却让人疑惑,为什么null的类型又是object了呢?其实这是javascript最初实现的一个错误,后来被ecmascript沿用下来。在今天我们可以解释为,null即是一个不存在的对象的占位符,但是在实际编码时还是要注意这一特性。
js **
alert(null==undefined);//output"true"
ecmascript认为undefined是从null派生出来的,所以把它们定义为相等的。但是,如果在一些情况下,我们一定要区分这两个值,那应该怎么办呢?可以使用下面的两种方法。
js **
alert(null===undefined);//output"false"
alert(typeofnull==typeofundefined);//output"false"
使用typeof方法在前面已经讲过,null与undefined的类型是不一样的,所以输出"false"。而===代表绝对等于,在这里null === undefined输出false。
js中null和有什么区别啊,js中null和""有区别吗
1楼 夏冰 结果上没有任何区别,都代表给str赋值一个空的结果, 但typeof 出来的结果,会有不同,str 时,typeof的结果为string,str null typeof出来的结果object。 2楼 匿名用户 var str1 null str引用为空 var str2 str引用一个空...
在Js中有没有数据类型null,JS中的变量==null 与变量=='';之间的差别
1楼 玄鸢 有的,二者区别如下 为null值的对象会被自动 undefined一般表示未定义 比如function test a test 这样执行a是undefined 所以输出undefined 2楼 匿名用户 不是数据类型,null表示空值,在session设置过期时,可以令其值为null 3...
java判断null,a和a,null的区别
1楼 匿名用户 java中不需要,因为java中有boolean类型。 当我们判断 i 1 时,如果写成了 i 1,是不会通过编译的。 当我们判断 flag true 时,我们只会写 if flag 而不会写 if flag true 。 当我们判断 flag false 时,我们只会写 if fl...