Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过匿名函数为对象属性赋值?_Javascript_Function_Object_Properties_Eval - Fatal编程技术网

Javascript 如何通过匿名函数为对象属性赋值?

Javascript 如何通过匿名函数为对象属性赋值?,javascript,function,object,properties,eval,Javascript,Function,Object,Properties,Eval,假设我有一个接受参数的函数 在本例中,我使用的是,但我的问题是一般性的 我在一个变量中设置了所有选项,如下所示 var options = { byRow: true, property: 'height', remove: true, }; 然后将其传递给函数: $('.some_class').matchHeight(options); 现在,我希望能够使用函数动态计算'remove'属性。我猜是这样的: var options = { byRo

假设我有一个接受参数的函数

在本例中,我使用的是,但我的问题是一般性的

我在一个变量中设置了所有选项,如下所示

var options = {
    byRow:    true,
    property: 'height',
    remove:   true,
};
然后将其传递给函数:

$('.some_class').matchHeight(options);
现在,我希望能够使用函数动态计算'remove'属性。我猜是这样的:

var options = {
    byRow:    true,
    property: 'height',
    // remove:   true,
    remove: function(){ return true; }
};
但是,它不起作用。正确的方法是什么? 更新:更清楚。matchHeight将remove视为一个函数,而不是一个函数


我的主要目标是使用函数“模拟”布尔值,例如
remove:true

您的方法应该有效-请参阅以下代码片段:

var选项={
拜罗:没错,
属性:“高度”,
//删除:对,
remove:function(){return true;}
};
函数myFunc(选项){
console.log(options.remove())
}

myFunc(options)
如果
options.remove
是一个函数,那么您必须实际调用它:

options.remove()
如果您只想使用
选项。删除
,您必须:

var选项={
拜罗:没错,
属性:“高度”
};
Object.defineProperty(选项“删除”{
get:function(){return true;}
});

console.log(options.remove)什么是不工作?这个目标大体上是正确的。这取决于它在
matchHeight
中的使用方式,但您尚未显示此代码。如果这不是你的代码,你就不能用布尔值替换那样的函数
options.remove
vs
options.remove()
,它们的调用方式不同
options[“remove”]
?matchHeight将remove视为感谢。不,
remove
是一个错误,不幸的是,您的代码不工作……请定义“不工作”。当您单击上面的“运行代码片段”时,它非常有效。