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

functions as a property in objects : referencing other properties inside of your function

本文关键字:属性 函数 引用 内部 其他 对象      更新时间:2023-09-26

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

更具体地说,我可以在不引用该函数中的对象的情况下获取和编辑同一对象内的其他属性吗?这里有一个例子:

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

还是我这样做?

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

您可以使用this关键字

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

如果您有另一个函数,比如在jQuery中将this存储到变量中的事件的回调

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