!!〜(不是波浪线/爆炸波浪线)如何改变“包含/包含” Array方法调用的结果?
如果您在此处的jQuery inArray页面上阅读了注释,则会有一个有趣的声明: !!~jQuery.inArray(elm, arr) 现在,我相信双感叹号会将结果转换为type boolean,其值为true。我不明白的是,~在所有这些中,tilde()运算符的用途是什么? var arr = ["one", "two", "three"]; if (jQuery.inArray("one", arr) > -1) { alert("Found"); } 重构if语句: if (!!~jQuery.inArray("one", arr)) { alert("Found"); } 分解: jQuery.inArray("one", arr) // 0 ~jQuery.inArray("one", arr) // -1 (why?) !~jQuery.inArray("one", arr) // false !!~jQuery.inArray("one", arr) // true 我还注意到,如果将波浪号放在前面,结果是-2。 ~!!~jQuery.inArray("one", arr) // -2 …