问答详情
源自:4-4 DOM节点删除之保留数据的删除操作detach()

jQuery基础(二)——DOM 4-4 detach()

第24行代码“if(!$("p”).length) return"怎么理解?

提问者:慕粉4340077 2016-12-22 09:32

个回答

  • private_缘呆码
    2016-12-22 10:43:00
    已采纳

    if语句接收一个布尔值,如果布尔值为true则执行接下来的语句,布尔值为false则执行else关键词后的语句。

    JavaScript语言有个特点”隐式转换”:在需要布尔值会将其他类型自动往布尔值转换$("p").length本来返回的是number类型的0,但被自动转化为布尔值false了。前面也说了,如果IF语句接收到布尔值false就会执行else关键词后的语句,这里没有写else后的语句。所老师把在前面加了个!,这个东西时一个叫“逻辑非”的操作符,作用就是将布尔值取反,true变成false,false变成true。

    所以if (!$("p").length) return;可以翻译成  if(p的长度为零的话~)就直接返回。不执行下一条的detach命令


  • qq_残梦殇流年_03807038
    2016-12-22 10:51:25

    取反操作