面试官:为什么“false == []”和“false == ![]”都返回true?

网站建设4年前发布
49 0 0

JavaScript 是一种非常优秀的编程语言,但与此同时,它也常常让我感到困惑。,20230306152901323981c48b7adbd0e7c45687a8caef00afaaf2693,可能我还不够了解!有时我真的想不通它是如何工作的,看完这5个奇怪的问题,你就知道我为啥这么说了,你知道这些古怪问题的正确答案吗?,我们现在开始吧。,朋友们,请不要惊讶这确实是正确答案。,只要我们有了相等比较和相同的知识,我们就能完全理解它是怎么一回事了。,让我简要解释一下它是如何工作的。,当我们遇到一个布尔值和一个对象进行比较时,会将这两个值转换为数字进行最后的比较。,所以它会经历这些步骤。,“1 == !1”的结果是什么?'fatfish' == !'fatfish' 返回什么?,为什么空数组如此特别?,朋友们,请用“===”代替“==”,这样会让你的工作轻松很多,否则你可能会做噩梦。,请想一想,getName执行返回的是你的好朋友fatfish,还是我们的好朋友medium?,我想你猜对了,答案是“fatfish”。不,不是!答案是“medium”。,这是因为在“try….catch….finally”语句中,finally子句无论是否抛出异常都会被执行。另外,如果抛出异常,即使没有catch子句处理异常,finally子句中的语句也会被执行。,是的,问题很简单,你会看到fatfish被打印出来了。,但我想请你尝试回答这段代码会输出什么?,请问‘{}’是最终结果吗?,不幸的是,这不是我们想象的那样。未定义的是最后的赢家。,因为‘{}’是fn函数的一个包含块,所以它等价于下面的代码。,name1 会等于 name2 吗?,我真的很困惑,为什么name1不等于name2?,请小心使用 JSON.stringify 与字符串进行比较,它会让您陷入困境。,谢谢您的阅读,并期待您的关注,您将会阅读到更多我们推送的优质文章内容。,

© 版权声明

相关文章