文章同步发布:https://blog.jijian.link/2020-03-23/js-index-of/

常规indexOf与if判断写法:

 if("112233".indexOf("22")>-1) {
console.log("找到二货");
}else {
console.log("嗯,没找到二货");
}

以上代码是否是你平时在写js逻辑时最常用写法。

运用位预算符取反,其实还有简洁的写法,如下:

 if(~"112233".indexOf("22")) {
console.log("找到二货");
}else {
console.log("嗯,没找到二货");
}

原理:-1取反为0,0在if判断里面为false。

以上代码在团队合作中不建议使用,毕竟代码是大家一起维护,这种遇到新手,不一定能一眼看懂。

代码是给人读的,机器读的代码交给 uglify 。不过个人项目使用下毫无问题的。

javascript中的indexOf与if判断的装逼写法的更多相关文章

  1. JavaScript中的indexOf

    JavaScript中的indexOf 1.JavaScript中利用indexOf拼接字符串 <%@ page language="java" import="j ...

  2. C#保留2位小数几种场景总结 游标遍历所有数据库循环执行修改数据库的sql命令 原生js轮盘抽奖实例分析(幸运大转盘抽奖) javascript中的typeof和类型判断

    C#保留2位小数几种场景总结   场景1: C#保留2位小数,.ToString("f2")确实可以,但是如果这个数字本来就小数点后面三位比如1.253,那么转化之后就会变成1.2 ...

  3. javaScript中的indexOf使用方法

    JavaScript中的indexOf使用方法 概述 indexOf大小写敏感,其中的O要大写 对于字符串而言 indexOf返回字符串第一次出现的位置,若没有出现返回-1 1 var str = & ...

  4. javascript中的真假值、数据类型判断以及+的特殊用法

    一.javascript中的假值 jQuery中拥有一组数量奇大的假值,包括 0,NaN(非数),''(空字符串),false,null,undefined 这些值在if判断中全部等于假,但这些值彼此 ...

  5. javascript中对变量类型的判断

    本文正式地址:http://www.xiabingbao.com/javascript/2015/07/04/javascript-type 在JavaScript中,有5种基本数据类型和1种复杂数据 ...

  6. javascript中的typeof和类型判断

    typeof ECMAScript 有 5 种原始类型(primitive type),即 Undefined.Null.Boolean.Number 和 String.我们都知道可以使用typeof ...

  7. 解决IE7和IE6不支持javaScript中的indexOf函数的问题

    我这里是针对两个字符串的,如果是字符数组也差不多,代码如下: function indexCheck(str, sortStr) { str = String(str);// 将参数处理下,避免有数字 ...

  8. Javascript中的数组去重-indexof方法

    在Javascript中,有时我们会用到数组去重.我在这里给大家介绍一下本人认为最简单实用的一种方法-indexOf()去重. var arr = [1,1,1,2,2,2,3,3,4,5,6,2,1 ...

  9. JavaScript中各存在性函数

    JavaScript中有很多表示存在性和从属关系的函数,本文介绍如下几个: 1)有关实例与构造函数原型之间的关系:isPrototypeOf(),Object.getPrototypeOf(); 2) ...

随机推荐

  1. js数组(五)

    一.数组的声明方法一:[构造函数形式声明] var array = new Array(); //[] var array = new Array(10); //数组长度:array.length = ...

  2. 单词eschaunge交易所eschaunge交换

    Exchange of one person or thing for another; reciprocal giving and receiving: (a) of prisoners of wa ...

  3. 纽约LangeEylandt长岛LongIsland

    LangeEylandt n.长岛(美国) 纽约长岛 纽约长岛 (LongIsland)是北美洲在大西洋内的一个岛,最早追溯到十七世纪的1650年被命名为Lange Eylandt [1] ,位于北美 ...

  4. 如何统一管理单个任务下所有API的同步情况?

    如何统一管理单个任务下所有API的同步情况 1. 一分钟完成单个API配置 单个API的配置包含:API名称.URL地址.请求方式.参数设置.自定义高级设置. 参数允许用户填写:Text.WebSer ...

  5. Android为TV端助力之反射基本知识

  6. Objective-C中的@dynamic 、@synthesize

    Objective-C中的@dynamic 一.@dynamic与@synthesize的区别 @property有两个对应的词,一个是@synthesize,一个是@dynamic.如果@synth ...

  7. LeetCode刷题:Reverse Words in a String(翻转字符串中的单词)

    题目 Given an input string, reverse the string word by word. For example, Given s = "the sky is b ...

  8. 【书评:Oracle查询优化改写】第四章

    [书评:Oracle查询优化改写]第四章 BLOG文档结构图 一.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① check的 ...

  9. oracle执行计划(二)----如何查看执行计划

    目录: (一)六种执行计划  (1)explain plan for  (2)set autotrace on  (3)statistics_level=all  (4)dbms_xplan.disp ...

  10. vue---axios实现数据交互与跨域问题

    1. 通过axios实现数据请求 vue.js默认没有提供ajax功能的. 所以使用vue的时候,一般都会使用axios的插件来实现ajax与后端服务器的数据交互. 注意,axios本质上就是java ...