為何遍历時有些方法跟屬性沒有被打印出來?

来源:4-3 选择练习

6hEd

2020-09-21 04:21:32

action是自定义方法,本身存在于原型中,为何能顺利被遍历? (如图)

如果action方法能被遍历,为何constructor不被遍历出来?

http://img.mukewang.com/climg/5f67b8130923da7e04650388.jpg

http://img.mukewang.com/climg/5f67b9960954298403380507.jpg


写回答

1回答

好帮手慕慕子

2020-09-21

同学你好,因为js语法中规定,对象的属性分为可枚举属性和不可枚举属性,比如constructor等,这些内置的属性就是不可枚举的;而在构造函数中通过this加在实例上的属性以及手动添加在原型对象的属性就是可枚举的;for in方法只遍历对象的可枚举属性,所以有些属性,for in 会直接跳过,只输出可枚举的属性值。

如果我的回答帮到了你,欢迎采纳,祝学习愉快!

0

0 学习 · 14456 问题

查看课程