使用提供的答案,我得出以下结论:
Object.prototype.in = function() { for(var i=0; i<arguments.length; i++) if(arguments[i] == this) return true; return false;}可以这样称呼:
if(foo.in(1, 3, 12)) { // ...}编辑: 最近我碰到了这个“技巧”,如果值是字符串并且不包含特殊字符,则很有用。对于特殊字符,由于转义而变得丑陋,并且因此也更容易出错。
/foo|bar|something/.test(str);
更精确地说,这将检查确切的字符串,但是对于简单的相等性测试而言,它再次变得更加复杂:
/^(foo|bar|something)$/.test(str);



