hasOwnProperty
let contentStyle={
fontSize: this._contentFontSize,
...this._contentStyle
}
for(let i in contentStyle){
//判断contentStyle是否具有属性i
if(contentStyle.hasOwnProperty(i)){
contentDom.style[i]=contentStyle[i];
console.log(contentStyle.hasOwnProperty(i));
}
}
老师你好,这里的hasOwnProperty不太理解,在new $Msg里传入contentStyle:{ qq:"12345" }的时候,i不就已经是contentStyle里面的属性了吗?而且就算我写的是qq也能返回true,hasOwnProperty到底判断了什么?
正在回答
同学你好,因为传入的这个参数中,qq就是对象自身的属性,所以肯定会返回true。hasOwnProperty判断对象是否包含特定的自身的属性,例如有的属性是继承的,有的属性是原型上的。那么使用hasOwnProperty判断这些会返回false。这里体现不出来,可以看如下例子:
sayGoodBy是foo原型对象上的方法,并不是foo自身的,所以使用hasOwnProperty判断返回false。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
- 参与学习 人
- 提交作业 239 份
- 解答问题 10739 个
本阶段带你深入前端开发的肌理,通过ES6基础知识和前端主流高级框架的学习,助你快速构建企业级移动webAPP应用,进入职场的终极battle
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星