Javascript 对象函数返回函数而不是值
我有一个很新的问题 如果我定义了一个JS对象,并使用一个函数来生成属性值,为什么属性值会返回一个函数而不是生成的值 例如:Javascript 对象函数返回函数而不是值,javascript,Javascript,我有一个很新的问题 如果我定义了一个JS对象,并使用一个函数来生成属性值,为什么属性值会返回一个函数而不是生成的值 例如: var object = { bla: 1, days: [], test : function(){ return 'bla'; } } console.log(object.test); 我希望object.test是“bla”。相反,它是函数(){return'bla';}。。。为什么?您必须以这种方式执行该函数:console.log(o
var object = {
bla: 1,
days: [],
test : function(){
return 'bla';
}
}
console.log(object.test);
我希望
object.test
是“bla”。相反,它是函数(){return'bla';}
。。。为什么?您必须以这种方式执行该函数:console.log(object.test())代码>
或者,正如@YuriiKovalenko所指出的,您可以这样编写函数:
var object = {
bla: 1,
days: [],
test : (function(){ return 'bla'; })()
}
然后console.log(object.test)
将为您提供“bla”您必须以这种方式执行该函数:console.log(object.test())代码>
或者,正如@YuriiKovalenko所指出的,您可以这样编写函数:
var object = {
bla: 1,
days: [],
test : (function(){ return 'bla'; })()
}
然后console.log(object.test)代码>将给您“bla”因为您将object.test的值设置为中的函数
var object = {
bla: 1,
days: [],
test : function(){
return 'bla';
}
}
如果要执行此操作,必须获取必须执行的值object.test()
,因为您将object.test的值设置为
var object = {
bla: 1,
days: [],
test : function(){
return 'bla';
}
}
如果要执行此操作,您必须获取必须执行的值object.test()
好的,太好了。我如何重写它,使object.test成为“bla”?比如,在查找值时是否可以自动执行该函数?如果需要,您可以简单地编写:object.test=“bla”
,因此当您像object.test那样访问它时,它将返回其值(“bla”)@Henk,(function(){return'bla';})(
好的,太好了。我如何重写它,使object.test成为“bla”?比如,在查找值时是否可以自动执行该函数?如果需要,您可以简单地编写:object.test=“bla”
,因此当您像object.test那样访问它时,它将返回其值(“bla”)@Henk,(function(){return'bla';})(