作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
JavaScript 有没有办法发现属性所属的对象?我知道这听起来很荒谬,这是一个例子:
Obj = {};
Obj._name = "name";
var x = Obj._name;
在这个例子中,有没有办法发现“x”引用的对象是什么?
谢谢
最佳答案
不完全是,不 - JS 中没有反向引用检查或类似的功能。
唯一可行的方法是,您可以访问某种集合中的所有相关对象,并且可以检查每个对象的属性值。 p>
这只是返回第一个具有匹配值的对象,但不能保证它是值的来源。
var myObjs = [
{name: 'one'},
{name: 'two'},
{name: 'three'}
];
function findObjWithVal(val, objs) {
for (var i = 0; i < objs.length; i++) {
for (var p in objs[i]) {
if (objs[i].hasOwnProperty(p) && objs[i][p] === val) {
return objs[i];
}
}
}
}
console.log(findObjWithVal('two', myObjs)); // [object Object] { name: "two" }
您所要求的只有在具有唯一属性值的紧密设置的对象分组中才真正可能,其中您知道x
始终是来自设置,并且没有其他对象将具有该属性值。非常具体的用例。
关于javascript - 发现属性所属的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31037729/
我是一名优秀的程序员,十分优秀!