首页 > 试题广场 >

执行以下程序,输出结果为()

[单选题]
执行以下程序,输出结果为()
var one;
var two = null;
console.log(one == two,one === two);


  • true false
  • true true
  • false false
  • false true
  • 抛出异常
==会将两边的值进行隐式类型转
console.log(null== 0); //false
console.log(undefined == 0); //false
one只定义未赋值=underfined>>>进行比较时隐式转换 =false
two=null>>>进行比较时隐式转换 =false
one = = two>>>>false= =false >>true
one = = = two >>> underfined = = = null>>>false

编辑于 2018-03-28 09:19:07 回复(0)
还是没有一个人解释清楚
发表于 2017-03-06 19:21:06 回复(2)
var one;
var two = null;
此时 one = undefined ,在比较的时候两个等于情况下 undefined==null,在三个等于全等的情况下,则undefined 不全等于 null的。 所以为true和false。
发表于 2019-03-12 10:49:37 回复(0)
=赋值 ==比较值 ===比较值+类型
发表于 2017-03-21 17:54:58 回复(0)
a==b 当a和b的类型等时,直接比较值是否相等,如果么和b类型不同,会先进行类型转化,再比较值 比如本题undetind和null类型不相同,都转化为Boolean类型,那么值均为false,所以相等a===b 不会进行类型转化,所以①要值相同2数据类型也要相同( type of )
发表于 2021-10-12 13:28:54 回复(0)
chrome亲测: undefined == false /false null == false /false null==undefined /true null === undefined /false
发表于 2018-06-15 09:06:09 回复(0)
one变量的值是undefined,two的值是null,undefined==null,但undefined的type是undefined,但null的类型是object。所以类型不相等。注意在js中,值有类型,变量没有类型。
发表于 2017-04-04 18:53:42 回复(0)
在JavaScript中下面的值被当作假 false. undefined. null. 空字符串 数字0 数字NAN == 和 ===的区别是,==会将两边的值进行隐式类型转换,而 ===也不会。 题目中,var one; 只定义未赋值,故one是的值为undefined, undefined和null转换为Boolean类型后都为false,===不会进行转换, ,那么undefined和null当然不相等啦,所以是true!
发表于 2017-03-07 15:25:10 回复(5)
one变量的值是undefined,two的值是null,undefined==null,但undefined的type是undefined,但null的类型是object。所以类型不相等。注意在js中,值有类型,变量没有类型。
发表于 2017-02-22 20:29:36 回复(1)
one==two 是 loose comparison, 只比较值, 不比较类型, 所以为 true
one===two 是 strict comparison, 既比较值, 又比较类型, 所以为 faluse
发表于 2017-01-04 06:03:27 回复(0)

Javascript规范中提到, 要比较相等性之前,不能将 null 和 undefined 转换成其他任何值,并且规定null 和 undefined 是相等的。null 和 undefined都代表着无效的值。请那些说类型转换的不要误导人啦

发表于 2018-12-20 09:36:21 回复(0)
one 的值是undefined,(undefined是从null中派生出来的)JavaScript默认他们是相等的,但是他们的基本数据类型是不同的,== 比较的值,===比较的是值和数据类型,
发表于 2019-04-06 13:02:46 回复(0)
在JavaScript中下面的值被当作假 false. undefined. null. 空字符串 数字0 数字NAN == 和 ===的区别是,==会将两边的值进行隐式类型转换,而 ===也不会。 题目中,var one; 只定义未赋值,故one是的值为undefined, undefined和null转换为Boolean类型后都为false,===不会进行转换, ,那么undefined和null当然不相等啦,所以是true!
发表于 2017-04-08 07:34:44 回复(0)
JavaScript高级程序一书中写到,undefined值是由null值派生来的,因此ESMC-262将他们定义为表面相等,所以 null == undefined 为true
发表于 2022-02-23 18:36:07 回复(0)
以下是我白痴的提问,和ChatGPT给出的详细解释:
发表于 2023-02-23 09:08:16 回复(0)
null==undefined
发表于 2023-09-20 15:58:41 回复(0)
做错了但后面只细看才知道盲目自信不好
发表于 2022-04-12 09:52:15 回复(0)
==调用js隐式转换方法toPxxx
发表于 2021-11-10 00:38:43 回复(0)

==进行隐式转换,===进行类型转换,null的类型是obj,undefined类型就是undefined

编辑于 2021-07-28 23:05:31 回复(0)
==会将两边的值进行隐式类型转换,null和undefined转换为布尔型都为false
发表于 2021-06-26 16:56:37 回复(0)