这个是怎么判断的,老师能详细解释下吗。

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,关于同学的问题回答如下:

1、这句代码的作用就是判断在调用isElement方法时,有没有传递参数。

2、nodeType 属性返回以数字值返回指定节点的节点类型。如果节点是元素节点,则 nodeType 属性将返回 1;如果节点是属性节点,则 nodeType 属性将返回 2。

3、如果没有传递参数,el参数返回的就是undefined  。假如直接返回return el && el.nodeType === 1 。逻辑与中,第一个操作数能够转换为false,则返回第一个操作数,即返回undefined。但是我们想要让结果输出布尔类型(true或者false) 。 所以使用叹号取反,这样undefined会转换为布尔类型,即true 。然后再加一个叹号,让它变成false 。(因为undefined转换为布尔类型为false) 。所以最终写成 !!el  。

祝学习愉快~

  • 慕慕4335856 提问者 #1
    就是 !!el是判断有没有参数并且转为布尔, el.nodeType==1是判断类型是元素节点。 满足有参数且是元素节点 的意思吗
    2020-04-01 11:54:37
  • 慕慕4335856 提问者 #2
    满足有参数且是元素节点就true否则false
    2020-04-01 11:57:33
好帮手慕粉 2020-04-01 17:07:14

同学你好,是的,理解的是正确的。

祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师