老师这里的参数hasOwnProperty(i)是指的什么?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

5回答
好帮手慕星星 2020-09-11 14:02:36

同学你好,是在实例化Msg构造函数的时候传入的样式,没有在css中

http://img1.sycdn.imooc.com//climg/5f5b124809676de405900383.jpg

传入的参数都设置了默认值

http://img1.sycdn.imooc.com//climg/5f5b127109b0e04a10790284.jpg

例如font-size属性在调用的时候没有传入,那么就会使用设置的默认值1.5em。

代码中主要是将所有样式合并到contentStyle对象

http://img1.sycdn.imooc.com//climg/5f5b12b7092d5cc805220103.jpg

然后遍历将样式添加到元素上

http://img1.sycdn.imooc.com//climg/5f5b12d709dea21a05820141.jpg

自己再理解下,祝学习愉快!

好帮手慕码 2020-09-10 19:25:42

同学你好,在本代码里,i表示fontSize属性。祝学习愉快~

  • 老师,这里我没有看到contentStyle [i]自定义的设置,但是只看到了在msg.css中对contentDom进行了设置。既然主要为自定义样式,又为什么要大费周章的对contentDom进行设置呢?
    2020-09-11 11:12:32
好帮手慕码 2020-09-10 14:33:58

同学你好,解答如下:

1、contentStyle不是空对象,如下:

http://img1.sycdn.imooc.com//climg/5f59c75d09b9152403420129.jpg

添加了fontSize属性;

2、contentStyle是老师自定的一个对象,而js语法中规定的,即使是自己定义的对象,它也会有很多js规定好的属性。示例:

http://img1.sycdn.imooc.com//climg/5f59c77509f0619902430131.jpg

输出结果如下:

http://img1.sycdn.imooc.com//climg/5f59c78309918e2106010396.jpg

例如常见的toString()方法,任何一个对象,它都会有这个方法,这是js规定好的。这个方法并不是对象自身的,而是它原型上的方法。使用obj.hasOwnProperty("toString")去判断,返回的就是false。 但是使用obj.hasOwnProperty('name')判断,由于obj本身定义了name属性,所以返回的结果就是true。示例:

http://img1.sycdn.imooc.com//climg/5f59c80c0971b61307380178.jpg

打印结果如下:

http://img1.sycdn.imooc.com//climg/5f59c819097fb50501010063.jpg

所以这里添加判断主要是为了只给contentStyle对象自身上有的属性设置样式。

可以再整体理解一下。祝学习愉快~

  • 老师你举的例子我明白了,只是这里的i是指的什么?
    2020-09-10 15:17:12
好帮手慕码 2020-09-08 09:40:22

同学你好,这里遍历的是contentStyle,不是contStyle。这段代码实现的是:可以自定义弹框的样式,例如:

http://img1.sycdn.imooc.com//climg/5f56e0640953402c04780169.jpg

http://img1.sycdn.imooc.com//climg/5f56e083092524dd05660246.jpg

当没有自定义样式的时候,就去使用原本有的contentDom;如果有的话,让自定义的样式去覆盖contentDom样式。

可以再看下视频理解一下。祝学习愉快~

好帮手慕码 2020-09-07 18:39:20

同学你好,hasOwnProperty() 方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性

语法:obj.hasOwnProperty(prop)   参数:prop 要检测的属性  字符串 名称

这里的意思是:判断 contentStyle当前循环到的属性是不是自身的属性,如果是的话,就使用 contentStyle[i]的样式去覆盖contentDOM.style[i]

如果帮助到了你,欢迎采纳,祝学习愉快~

  • 这里为什么要循环contStyle?又为什么要去覆盖呢,直接设置一个contentStyle不就好了吗?
    2020-09-07 21:57:20
  • 那循环到的什么是属于contentStyle自身的属性?还有这里的contentStyle不就是个空对象吗?
    2020-09-10 11:07:57
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师