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

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

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

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

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

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

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

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

相关推荐
市民中心的蟋蟀2 小时前
第五章 使用Context和订阅来共享组件状态
前端·javascript·react.js
我不会编程5552 小时前
Python Cookbook-5.1 对字典排序
开发语言·数据结构·python
李少兄2 小时前
Unirest:优雅的Java HTTP客户端库
java·开发语言·http
逆袭的小黄鸭2 小时前
JavaScript 闭包:强大特性背后的概念、应用与内存考量
前端·javascript·面试
此木|西贝2 小时前
【设计模式】原型模式
java·设计模式·原型模式
Mintopia2 小时前
Node.js 中 fs.readFile API 的使用详解
前端·javascript·node.js
Face2 小时前
事件循环
前端·javascript
谦谦橘子2 小时前
服务端渲染原理解析
前端·javascript·react.js
Mintopia2 小时前
深入理解 Three.js 中的 PerspectiveCamera
前端·javascript·three.js
无名之逆2 小时前
Rust 开发提效神器:lombok-macros 宏库
服务器·开发语言·前端·数据库·后端·python·rust