JavaScript-如何获取函数中键的名称
我有一个javascript文本对象,如下所示JavaScript-如何获取函数中键的名称,javascript,Javascript,我有一个javascript文本对象,如下所示 var db = new Observer(); var user = { firstName: db.observe("abc"), lastName: "xyz", middleName: db.observe("test") }; 注意:“firstName”值是一个函数调用db.observe(“abc”),它接受一个参数 var Observer = function() { this.observe = fu
var db = new Observer();
var user = {
firstName: db.observe("abc"),
lastName: "xyz",
middleName: db.observe("test")
};
注意:“firstName”值是一个函数调用db.observe(“abc”),它接受一个参数
var Observer = function() {
this.observe = function (value) { // INITIAL value of the field
// HOW WILL I GET "key, for e.g. firstName" key here so that i can associate "value" with it.
return this;
}
}
我的要求是获取键的名称,在本例中是observe()函数中的“firstName”
或者,请随意推荐替代方案,以实现同样的效果
注意:这与我正在试验的一个小型MVVM框架有关,目前我还停留在这一点上
让我知道这在JS中是否可行
REF:knockoutjs做了类似的事情…你可以通过。请参阅下面的演示
虽然它对静态名称有效,但是如果您的
observe()
工作正常,那么您也可以实现该结果您必须向函数的接口提供该类型的信息:
var observation = db.observe("abc");
var other_observation = db.observe("test");
var user = {
firstName: ( todayIsFriday ? observation : other_observation ),
lastName: "xyz",
middleName: ( todayIsFriday ? other_observation : observation )
};
你不能期望解析器知道在observe
函数中使用什么作为“键”,你基本上需要先用Javascript实现一个时间机器
因此,您确实需要将其作为额外参数传递,或者首先将db对象置于某种“状态”。回答我自己的问题,因为我刚刚准备好了一个示例。感谢Yoshi的评论,它让我深入挖掘 如果有人感兴趣的话,我将在这里发布示例实现的链接…代码有缺陷,但演示了我试图执行的数据绑定 下面是JSFIDLE URL 尝试更改文本框中的值,从属对象将自动更新
谢谢大家的评论。这只是原始的/错误的,代码..将在接下来的几天内完善它..这可能会有帮助:检查链接..但它没有必需的信息..传递必需的信息不是一个选项??例如
db.observe(“abc”,“firstName”),…
?:)不..至少到目前为止..如果我没有得到任何解决方案,我可能需要继续。从给定的代码示例中,我看不到任何方法如何观察者。观察有一种方法可以访问适当的属性名称,事实上,如果有一种方法可以这样做,我会非常惊讶。谢谢..检查了这一点..这个名字调用了db、 Observe(“default value”)…我想要在Observer对象中的db.Observe()函数中的键,在本例中是“firstName”。