为什么每个JS对象都有一个未定义的属性 [英] Why does every JS object have one undefined property
本文介绍了为什么每个JS对象都有一个未定义的属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
let obj = {a:'a',b:'b'};
for(let p in obj){
console.log(p);
}
输出:
a
b
未定义
>
这不是一个属性,它是 return of function 打印。示例:
console.logger = function(p){
console.log(p);
returnlogged
}
var obj = {a:'a',b:'b'};
for(var p in obj){
console.logger(p);
}
a //记录属性
b //记录属性
logged//记录logger函数的返回值,undefined如果没有返回值
let obj = {a:'a',b:'b'};
for (let p in obj){
console.log(p);
}
Output:
a
b
undefined
What's up with the undefined property?
解决方案
That's not a property, it's the return of function that developer tools prints.
Example:
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
这篇关于为什么每个JS对象都有一个未定义的属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文