作为对象中的属性:引用函数内部的其他属性

时间:2016-01-06 23:46:59

标签: javascript javascript-objects

如果我有一个函数作为对象的属性,函数闭包规则仍然适用吗?我记得读过一个函数是一个对象,但我也理解一个对象不是一个函数。

更具体地说,我可以抓取并编辑同一对象内的其他属性而无需引用该函数中的对象吗?这是一个例子:

someObj = {
property : 44,
calculate : function(){
    property * moreproperties;
};

还是我这样做?

someObj = {
property : 44,
calculate : function(){
   someObj.property * someObj.moreproperties;
};

1 个答案:

答案 0 :(得分:1)

您可以使用this关键字

来执行此操作
someObj = {
property : 44,
calculate : function(){
   this.property * this.moreproperties;
};

如果你有另一个函数,如jQuery store this中的事件回调到变量

someObj = {
property : 44,
calculate : function(){
   var parent = this;
   $('#some-element').click(function() {
       parent.something * parent.somethingElse
   });
};