首页 > 解决方案 > 如何在html元素中显示javascript原型、构造函数、范围

问题描述

在此处输入图像描述

在此处输入图像描述

标签: javascriptconsole.log

解决方案


可以通过显式引用它或通过迭代对象的constructor所有属性(不仅仅是可枚举属性)来获取该属性,使用Object.getOwnPropertyNames.

[[Prototype]]属性等效于 的返回值Object.getPrototypeOf,因此您可以调用它来访问原型对象并也可以根据需要对其进行迭代。

也许是这样的:

const recursiveLogAllProperties = (obj) => {
  Object.getOwnPropertyNames(obj).forEach(prop => console.log(prop, obj[prop]));
  const proto = Object.getPrototypeOf(obj);
  if (proto === Object.prototype) return;
  console.log('------ Prototype:');
  recursiveLogAllProperties(proto);
}
const arr = [1, 2];
recursiveLogAllProperties(arr);

无法从 JavaScript 访问内部[[Scopes]]属性。


推荐阅读