获取请求的子对象的名称 javascript [英] Get the name of the requested subobject javascript
本文介绍了获取请求的子对象的名称 javascript的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果我有一个带有匿名函数的对象,我怎么知道正在请求什么子对象以便我可以返回一个值?
If I have an object with an anonymous function inside how do I know what subobject is being requested so that I can return a value?
var obj = function(a) {
switch (a) {
case 'subprop1': return 'subval1';
case 'subprop2': return 'subval2';
case 'subprop3': return 'subval3';
default: return 'defaultval';
}
}
所以如果我打电话:
obj.subprop1
我应该得到:
subval1
推荐答案
除非您的环境支持 Proxy
.
This is not really possible with plain objects unless your environment supports Proxy
.
在这种情况下,它会很容易(尚未测试):
In this case it would be quite easy (haven't tested):
var obj = function(a) {
switch (a) {
case 'subprop1': return 'subval1';
case 'subprop2': return 'subval2';
case 'subprop3': return 'subval3';
default: return 'defaultval';
}
};
var objProxy = new Proxy(obj, {
get: function (target, name) { return target(name); }
});
objProxy.subprop1; //should return subval1
objProxy.nonExisting; //shoud return defaultval
这篇关于获取请求的子对象的名称 javascript的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文