javascript - 这如何符合 Javascript 中 "Functions are objects"的逻辑?

标签 javascript

刚刚尝试了一个实验,

var f = function() { alert("yay, a function!"); };
console.log(f == function() { alert("yay, a function!"); });

,将 false 打印到控制台。但是,如果将 Javascript 函数 视为对象,那么这与

没有什么不同吗?
var x = 5; 
console.log(x == 5);

???

最佳答案

在 JavaScript 中,引用类型不能使用相等运算符 (==) 进行比较。

所以 consoloe.log([1,2]==[1,2]) 将返回 false。 并且因为函数是 Object 的实例,所以它也会返回 false。

除字符串和数字等基本类型外,不能使用相等运算符

关于javascript - 这如何符合 Javascript 中 "Functions are objects"的逻辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29502080/

相关文章:

javascript - 需要有关Web开发的初学者级建议,网站的目录结构

javascript - 如何测试 Sentry 是否报告错误?

javascript - Rails 3 - 设计 'Please enter an email address' 弹出消息,即使在禁用验证时也是如此

javascript - 如何在未安装的组件上修复 'index.js:1446 Warning: Can' t 调用 setState(或 forceUpdate)...“在 ReactJS 中

javascript - 为 Aurelia 应用导入 es2016 中 numeral.js 的所有语言

Javascript 对象/函数在另一个对象/函数中的可访问性

javascript数组循环到表

javascript - 函数 getelementbyid 没有输出到正确的位置

javascript - 在 angularjs 中显示索引表

javascript - 如何在 Sequelize 中创建关系