javascript - 在 JavaScript 中,如何找到数字字段的容器对象?

标签 javascript performance hash

var obj = {a:1,b:2};
function parent_object(num){
    console.log('This number is inside the object ',<????>);
}
parent_object(obj.a)

这应该输出指向 obj。我发现做到这一点的唯一方法是将每个数字对象装箱到一个对象中,该对象将保留对父级的引用。但这是性能 killer 。有没有更好的方法来跟踪号码的位置?

最佳答案

实际上没有。不仅在 JavaScript 中,而且在其他任何传统语言中都没有。

据我所知,唯一的方法是你完全按照你自己所说的去做:将数字(或任何其他字段类型)装箱在一个对象中,该对象将保留对其的引用(可能通过构造函数注入(inject))封闭父级。

所讨论的拳击可以这样完成:

BoxedValue = function(value, parent) {
    this.value = value;
    this.parent = parent;
}

var i = {};
n.i = new BoxedValue(12, i)
console.log(i.n.parent);

但是,一般来说,影响当前浏览器的 JavaScript 应用程序性能的最重要因素是处理内存使用的方式。因此,这种方法并不可取,我建议您通过其他方法解决您的问题,无论它是什么。

关于javascript - 在 JavaScript 中,如何找到数字字段的容器对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12124172/

相关文章:

c# - 哪种代码流模式在C#/。NET中更有效?

ruby - Hash[x] << "string"是做什么的?

javascript - 如何从数组中按对象ID仅获取数据

javascript - 将 div 保持在对话框中的固定位置

javascript - Express:为什么不能在router.use中使用req.body.value?

javascript - 检索导入的 Sequelize 模型

javascript - 使用 Javascript 初始化数据与使用 MySQL 进行数据检索之间的性能差异?

Array.map 的 Javascript 性能

python - 为什么我的两个 python 字符串在程序中不相等,但在解释器中相等?

python - 在 python pandas 的数据框中使用选定的列为每一行数据创建哈希值