for in 使用for in的时候最好先检查对象是否是undefined否则会报错,null的话会不执行循环体。 var obj = { name: 'viven', age: 28 }; if (obj != undefined) { for (var key in obj) { console.log(key, obj[key]); }; }; // name viven // age 28 for (var key in o){ console.log(key) } // o is not defined