问答详情
源自:3-4 jQuery的属性与样式之增加样式.addClass()

函数判断语句问题

函数里的判断语句为什么不写成  if(className.indexOf('imooc')!=-1) 而是写成(-1!= = className.indexOf('imooc'))?有什么区别或者好处吗

提问者:AcerYyzy 2016-09-22 23:48

个回答

  • 蓝璇梦幻
    2016-09-23 18:06:08

    != 在表达式两边的数据类型不一致时,转换为相同数据类型,然后对值进行比较;
    !== 不会进行类型转换,在比较时除了对值进行比较以外,还比较两边的数据类型;

    至于为什么不反着来写,我猜是因为了有更好的可阅读性,还有就是习惯问题

  • MZJ123
    2016-09-23 10:52:13

    indexOf()返回的值是整形值,-1也是整形,所以用!=判断不影响结果。这两个用法也不分哪个更好。
    ==仅判断值是否相等,!=是其非运算。
    ===是判断值和类型是否都相等,!==是其非运算。