永远不要在一个非函数代码块(if while等)中声明一个函数,把那个函数赋给一个变量,浏览器允许你这么做,但是他们解析不一致
// bad
if (currentUser) {
function test() {
console.log('Nope.'); } } // good var test; if (currentUser) { test = function test() { console.log('Yup.'); }; }
永远不要把参数命名为arguments ,因为这样会取代函数作用于的arguments。