为什么每个JS对象都有一个未定义的属性?

Why does every JS object have one undefined property

本文关键字:未定义 属性 有一个 JS 对象 为什么      更新时间:2023-09-26
let obj = {a:'a',b:'b'};
for (let p in obj){
   console.log(p);
}
输出:

a 
b
undefined

undefined属性是怎么回事?

这不是一个属性,它是开发工具打印的函数返回。

的例子:

console.logger = function(p){
           console.log(p);
           return "logged"
      }
var obj = {a:'a',b:'b'};
for (var p in obj){
   console.logger(p);
}
a          // logs the property
b          // logs the property
"logged"   // logs the return of logger function, undefined in case nothing's returned