有害的Javascript技巧

有害的Javascript技巧,javascript,Javascript,最有害的Javascript技巧是什么?请包括“发现问题”和“通过避免”块 示例: 向Object.prototype.prop=1添加属性 问题见:用于(obj中的变量i){alert(i);} 通过避免:使用hasOwnProperty 示例: for(obj中的var)if(obj.hasOwnProperty(i)){alert(i);} 重写Number.prototype.valueOf=function(){return Math.random()} 看到的问题:4*3(取决于Ja

最有害的Javascript技巧是什么?请包括“发现问题”和“通过避免”块

示例:

  • 向Object.prototype.prop=1添加属性 问题见
    用于(obj中的变量i){alert(i);}

    通过避免:使用
    hasOwnProperty

    示例:
    for(obj中的var)if(obj.hasOwnProperty(i)){alert(i);}

  • 重写
    Number.prototype.valueOf=function(){return Math.random()}

    看到的问题
    4*3
    (取决于Javascript引擎)
    避免方法
    删除Number.prototype.valueof
    (同样取决于Javascript引擎)


  • 如果你想不出一种方法来“避免”代码,请包括潜在的解决方案。

    只要阅读Crock的附录,

    不要忘记附录中可怕的部分!是的,克罗克的附录很好,但我更关注的是“用户错误”/“故意用户错误”,而不是语法/语言混乱。@莱姆,他提到的一些事情都是由于用户错误引起的,比如
    开关
    故障,无块语句,
    &
    而不是
    &
    ,忘记新的。可能是重复的@Quentin,但我喜欢魔鬼标签;D@Lime-你可能会喜欢,但这与问题无关。Developer's Image Library(DevIL)是一个程序员库,用于开发具有非常强大的图像加载功能的应用程序,但开发人员很容易学习和使用它use@Lime有趣的是,
    devil
    标签没有任何追随者:-/any?