在浏览器控制台中输出js对象,为什么颜色不同,有深有浅

打开console,输入自定义的javascript对象的时候,打开看发现对象的属性是深紫色,后面有一些对象是浅紫色的,比如Array对象和一堆SVG,HTML,CSS开头的对象,常用的prototype和__proto__也是浅紫色的。

请问这里深紫和浅紫的有什么区别呢?

如图所示,obj对象深颜色属性表示可枚举属性,obj对象浅颜色属性表示不可以枚举。

可枚举属性:可以通过for...in...遍历的属性,自己给对象添加的属性可以遍历,而原型上的属性一般不可以遍历。

不可枚举属性:不能通过for...in...遍历的属性。

如何判断一个属性是否为可枚举属性?

如图所示,返回的是true表示这个属性是可枚举的,false表示不可以枚举。

相关推荐
布谷歌8 小时前
面试题整理
java·开发语言
j445566118 小时前
C++中的职责链模式高级应用
开发语言·c++·算法
Hello World . .8 小时前
数据结构:栈和队列
c语言·开发语言·数据结构·vim
jjjava2.08 小时前
深入解析Set与Map的奥秘
java·开发语言
白宇横流学长8 小时前
基于Java的火车票订票系统的设计与开发
java·开发语言
黎雁·泠崖8 小时前
Java核心基础API学习总结:从Object到包装类的核心知识体系
java·开发语言·学习
这是个栗子8 小时前
【Vue代码分析】前端动态路由传参与可选参数标记:实现“添加/查看”模式的灵活路由配置
前端·javascript·vue.js
刘一说8 小时前
Vue 动态路由参数丢失问题详解:为什么 `:id` 拿不到值?
前端·javascript·vue.js
m0_736919108 小时前
模板元编程性能分析
开发语言·c++·算法
Terio_my9 小时前
简要 Java 面试题学习
java·开发语言·学习