最直接可靠的方式是结合sources/debugger面板和console面板,使用object.getprototypeof()查看原型结构,避免非标准属性;调试时可悬停变量展开__proto__或在scope中查看[[prototype]]字段。

在浏览器开发者工具里查看 JavaScript 原型对象属性,最直接、可靠的方式是结合 Sources(或 Debugger)面板 和 Console 面板,配合标准 API 操作。不需要依赖非标准属性,也能清晰定位原型结构。
在 Console 面板中快速查看原型
打开开发者工具(F12 或 Ctrl+Shift+I),切换到 Console 标签页,输入以下任一方式:
-
使用
Object.getPrototypeOf(obj):const obj = { name: 'Alice' }; Object.getPrototypeOf(obj); // 返回 {}(即 Object.prototype) -
查看构造函数的
prototype属性(适用于实例):function Person(name) { this.name = name; } const p = new Person('Bob'); p.__proto__ === Person.prototype; // true(仅作验证,不建议用于生产) Person.prototype; // 直接输出原型对象,含 constructor 和自定义方法 -
检查原型链上的具体属性是否存在:
const arr = [1, 2, 3]; Object.getPrototypeOf(arr); // Array.prototype Object.getPrototypeOf(Object.getPrototypeOf(arr)); // Object.prototype
✅ 推荐始终用
Object.getPrototypeOf(),它符合标准、兼容性好,且不会污染或意外修改原型。
Alibabacloud Sdk Client Initialization For Java下载在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
在 Sources/Debugger 面板中观察原型结构
- 在调试暂停状态下(例如打了断点或执行了
debugger),把鼠标悬停在变量上,会弹出预览框,点击右侧的▶可展开其__proto__(灰色字段),逐层查看继承关系。 - 左侧 Scope 面板中,展开
this或任意对象,能看到[[Prototype]]字段(Chrome 中显示为灰色、带锁图标),点击即可跳转到对应原型对象。 - 若对象由类或构造函数创建,
[[Prototype]]通常指向Constructor.prototype;原生对象(如数组、日期)则指向对应内置构造器的 prototype。
注意原型显示的常见现象
__proto__在 Console 中显示为灰色,表示它是内部属性,不可枚举,也不参与for...in循环。constructor属性默认存在于每个prototype上,指向原始构造函数,比如Array.prototype.constructor === Array。修改
Function.prototype或Object.prototype会影响全局行为,调试时务必避免误操作。不要直接赋值
obj.__proto__ = ...,这会破坏性能且不被现代引擎优化。如果看到
null作为某对象的[[Prototype]],说明已到达原型链末端(例如Object.create(null)创建的对象)。
这样就能在调试过程中准确识别原型来源、共享方法位置,以及排查属性为何“找不到”或“意外存在”。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











