首页
学习
活动
专区
圈层
工具
发布

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

有时我真的想不通它是如何工作的,看完这5个奇怪的问题,你就知道我为啥这么说了,你知道这些古怪问题的正确答案吗? 我们现在开始吧。 1、为什么“false == []”和“false == !...[]" is false // 2. false == false Returns true console.log(false == ![]) // true 2. 为什么“[] == !...[]”返回true? “1 == !1”的结果是什么?'fatfish' == !'fatfish' 返回什么? 为什么空数组如此特别? // 1....3.关于奇怪的“try catch” 请想一想,getName执行返回的是你的好朋友fatfish,还是我们的好朋友medium?...另外,如果抛出异常,即使没有catch子句处理异常,finally子句中的语句也会被执行。 4.关于箭头功能? 是的,问题很简单,你会看到fatfish被打印出来了。

1.4K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    为什么 2!=false 和 2!=true 返回的都是true

    前言 今天突然想起一个奇怪的问题,记录一下,我在控制台执行内容如下: 由上图可见,2 != false 和 2 != true 返回的值竟然都是true,那么为什么呢,请看下文: 1 !...= true 返回 true 的原因涉及到 JavaScript 中的类型转换和比较规则。 2 类型转换 当使用 !...= 进行比较时,JavaScript 会尝试将比较的两个值转换为相同的类型,然后再进行比较。以下是 2 != false 和 2 != true 的过程: 2 !...= false false 会被转换为数字类型。根据 JavaScript 的转换规则,false 被转换为 0。 现在表达式变成了 2 != 0。 2 和 0 不相等,因此返回 true。 2 !...= false 返回 true 是因为 2 和 0 不相等。 2 != true 返回 true 是因为 2 和 1 不相等。 这就是为什么 2 != false 和 2 !

    68310

    为什么1000 == 1000返回为False,而100 == 100会返回为True?

    System.out.println(a == b);//1 Integer c = 100, d = 100; System.out.println(c == d);//2 你会得到以下运行结果: false...因此,结果就会出现false。 这是非常有趣的地方。如果你查看Integer.java类,你会找到IntegerCache.java这个内部私有类,它为-128到127之间的所有整数对象提供缓存。...return IntegerCache.cache[i + (-IntegerCache.low)]; return new Integer(i); } 如果值在 -128 到 127 之间,它就会返回该缓存的实例...这就是为什么这段代码的结果为true了: System.out.println(c == d); 现在你可能会问,为什么会为-128到127之间的所有整数设置缓存?...这是因为在这个范围内的小数值整数在日常生活中的使用频率要比其它的大得多,多次使用相同的底层对象这一特性可以通过该设置进行有效的内存优化。你可以使用reflection API任意使用这个功能。

    2.3K50

    奇怪的Java题:为什么128 == 128返回为false,而127 == 127会返回为true?

    奇怪的Java题:为什么128 == 128返回为false,而127 == 127会返回为true? 在回答这个问题之前,我们先来看看int和Integer的对比,一步步揭开问题的答案。...基本类型(原始数据类型)在传递参数时都是按值传递,而封装类型是按引用传递的(其实“引用也是按值传递的”,传递的是对象的地址)。 由于包装类型都是不可变量,因此没有提供改变它值的方法。...Integer i = new Integer(100); Integer j = new Integer(100); System.out.print(i == j); //false 因为new生成的是两个对象...(3) 非new生成的Integer变量和new Integer()生成的变量比较时,结果为false。...Integer i = new Integer(100); Integer j = 100; System.out.print(i == j); //false 在JDK 5.0之前,你从未见过Integer

    3K31

    jQuery常用的选择器

    选取页面中元素可以使用jQuery给我们提供的$()方法,该方法需要提供选择器作为参数,方法执行完成后会返回给我们一个jQuery对象,被选取的元素就包含在该对象中。...1.1基础选择器 选择器 实列 说明 全局选择器 $('*') 选择所有元素 标签选择器 $('p') 选择所有的p元素 ID选择器 $('#top') 选择所有id属性值为top的元素 class选择器...div:empty') 选择所有没有子元素的div元素(包括文本节点) tag:has(selector) $('div:has(p)') 选择所有子元素中包含p元素的div元素 tag:parent...$('div:parent') 选择匹配元素集合中包含子元素的所有div元素(包括文本节点) 2.7 选取表单元素 jQuery提供了一些专门为表单设计的选择器,用于快速访问表单元素。...选择器 示例 说明 :text $(':text ') 选择所有文本字段(type="text",或没有写type属性的input元素) :password $(':password') 选择所有密码字段

    1K20

    jQuery常用的 基本选择器

    什么是jQuery选择器 jQuery选择器是jQuery为我们提供的一组方法,让我们更加方便的获取到页面中的元素。注意:jQuery选择器返回的是jQuery对象。...jQuery选择器有很多,基本兼容了CSS1到CSS3所有的选择器,并且jQuery还添加了很多更加复杂的选择器。...【查看jQuery文档】 jQuery选择器虽然很多,但是选择器之间可以相互替代,就是说获取一个元素,你会有很多种方法获取到。所以我们平时真正能用到的只是少数的最常用的选择器。...css里的选择器jQuery都能写 基本选择器 名称 用法 描述 ID选择器 $(“#id”) $(“#id”) 获取指定ID的元素 类选择器 $(“.class”) 获取同一类class的元素 标签选择器...交集选择器 $(“div.redClass”) 获取class为redClass的div元素 总结:跟css的选择器用法一模一样。 案例: <!

    67710

    【JavaWeb】85:jQuery的各种选择器

    刚学CSS的时候,觉得CSS选择器也太多了吧,直到今天学了jQuery选择器…… 一、基本选择器 初学jQuery有个非常令人苦恼的地方:时常会把jQuery语法和js语法搞混。...③标签选择器 格式为:$("div")。 通过它可以操作对应标签名的标签,其效果和类选择器很相似。 ④全选选择器 格式为:$("*")。这是jQuery中多于CSS的。...attribute,属性的意思,可简写为attr。因为太多了,就没有选全。 ①属性选择器:[attribute] 格式为:$("div[name]"),这里也就是div标签里的name属性。...也就是指索引位小于2的div标签。 没有写全,还有: :eq(索引位),等于对应索引位的标签。...六、总结 选择器之间是可以叠加使用的。比如层级选择器中可以包含基本选择器。 jQuery中的选择器实在是太多了,通过网络查询到jQuery对应里的选择器: ?

    9K20

    jQuery选择器(满足你的所有业务)

    jQuery 选择器允许对 HTML 元素组或单个元素进行操作。 jQuery 选择器基于元素的 id、类、类型、属性、属性值等"查找"(或选择)HTML 元素。...它基于已经存在的 CSS 选择器,除此之外,它还有一些自定义的选择器。 jQuery 中所有选择器都以美元符号开头:$()。...使用jquery请先引入 jquery.com/jquery-3.1.1.min.js"> 元素选择器 $(this)...的下一个同辈元素集合 $("#demo~p") //选取id为demo的元素后所有同辈元素集合 属性选择器(返回元素集合) $("[href]") //选取所有带有 href 属性的元素...:visible //选取所有可见的元素,返回元素集合 表单对象属性过滤选择器(返回元素集合) :enabled //选取所有可用元素 :disabled //选取所有不可用元素 :checked

    1.2K20
    领券