![](/img/trans.png)
[英]How to get a property from a JavaScript Object while removing it at the same time
[英]How to get property values from same object in javascript?
如果我在javascript中有这个
var x = {
"a" : function(q) { return q+1; },
"b" : function(w) { return (this["a"])(1); }
};
我想做一些事情,比如来自同一个对象但不同属性的访问函数。 例如,在上面的代码中,属性a
应该没问题,但是在属性b
,我想使用存储在a
的函数。 目前为了好玩我只有this["a"]
可能不起作用。 但有没有办法可以获得这个功能?
谢谢
你有什么工作。 看看这个小提琴在这里与你的对象..
使用Javascript
var x = {
"a" : function(q) { return q+1; },
"b" : function(w) { return (this["a"])(1); }
};
document.body.innerHTML = x.b();
调用xb()
的结果是2。
更复杂的对象可以这样做:
var myObj = {
myFunction: function(testVar)
{
return this.Utilities.helperFunction(testVar);
},
Utilities: {
helperFunction: function(anotherVar)
{
return anotherVar * 2;
}
}
}
您可能还注意到,在第二个示例中,我使用不同的语法来获取对象的属性。 您可以使用this["a"]
或this.a
,它们都返回相同的结果。 你要使用this["a"]
是你想要传入一个变量来获取属性或函数。
只需将其打印到显示屏上:
var x = {
"a" : function(q) {
return q+1;
},
"b" : function(w) {
return (this.a)(1);
}
};
document.write(x.b(1));
看到这个非常棒的概述: “this”关键字如何工作?
它在链条上升一级; 在函数内部, this
是函数上面的下一级别的范围,因此在xb=function() {this //}
, this
看起来在范围上1级并且到达x
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.