求大神解释一下js中比较的问题

javascript代码:谁能帮我正确分析下面2个例子之间的区别之处?例1:
var a=function(){};
var b=function(){};
console.log(a()==b());
运行结果:true

例2:
var a=function(){};
var b=function(){};
console.log(a==b);
运行结果:false

1和2比较的到底是什么

第一个是执行a,b返回对比返回值,2个都没有返回值默认返回undefined,值对比,所undefined==undefined为true

第二个是对象对比(function也是对象),对象比较是内存地址比较,由于是2个不同对象,所以为false

有用记得采纳:)。。

第一个是执行a,b返回对比返回值,2个都没有返回值默认返回undefined,值对比,所undefined==undefined为true

第二个是对象对比(function也是对象),对象比较是内存地址比较,由于是2个不同对象,所以为false