如何在 html 元素内显示 javascript 原型、构造器、作用域
How to display javascript prototype, conscructor, scope inside html element
- 我正在尝试为
console.log
创建一个模拟器,以便在我的 phone 中使用它来显示延迟数据类型结果、代码错误 - 代码工作正常并显示,突出显示所有数据类型
- 但我还想显示
constcrutor
、scopes
、prototypes
,就像 Web 控制台一样,有一种方法可以像这张图片一样循环抛出它们并获取它们的数据
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]]
内部 属性。
- 我正在尝试为
console.log
创建一个模拟器,以便在我的 phone 中使用它来显示延迟数据类型结果、代码错误 - 代码工作正常并显示,突出显示所有数据类型
- 但我还想显示
constcrutor
、scopes
、prototypes
,就像 Web 控制台一样,有一种方法可以像这张图片一样循环抛出它们并获取它们的数据
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]]
内部 属性。