javascript - 如何在html元素中显示javascript原型、构造函数、范围
问题描述
- 我正在尝试创建一个模拟器,
console.log
以便在我的手机中使用它来显示延迟数据类型结果、代码错误 - 代码工作正常并显示、突出显示所有数据类型
- 但我也想显示
constcrutor
,,就像网络控制台一样,有一种方法可以循环抛出它们并像这张图片一样获取它们的scopes
数据prototypes
解决方案
可以通过显式引用它或通过迭代对象的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]]
属性。
推荐阅读
- android - 当我从 Activity 调用到 Fragment 时,Editext 值变为 Null
- powershell - 如何在不格式化的情况下将字符串传递给程序?
- swift - 带有自定义初始化程序的 SwiftUI 超类声明
- node.js - 如何通过 Azure blob 存储在 node.js 中提供 CDN 图像 URL?
- python - 列表列表 | 将子元素相乘,添加答案(Python)
- javascript - Flutter Web 下载文件在移动浏览器中不起作用
- google-chrome-extension - 如何在清单中为 chrome Web 扩展指定特定的子网页?
- javascript - 如何根据需要运行此 Javascript 问题?
- events - 为什么在事件过滤器中的 KeyEvent 上的 consume() 不起作用?
- spring - Spring Controller单元测试,返回空指针异常