构造函数不是javascript中的函数错误
当我运行以下代码时:构造函数不是javascript中的函数错误,javascript,function,constructor,Javascript,Function,Constructor,当我运行以下代码时: function eatingFood(food){ this.food = food; return 'I"m eating' + this.food; } var apple = new eatingFood("apple"); console.log(apple()); 我得到了以下错误: 苹果不是一个函数错误 这是为什么?通过使用new关键字,var apple将是一个看起来像{food:'apple'}的对象 和。。好不能在对象的末尾放两个括号,因为
function eatingFood(food){
this.food = food;
return 'I"m eating' + this.food;
}
var apple = new eatingFood("apple");
console.log(apple());
我得到了以下错误:
苹果不是一个函数错误
这是为什么?通过使用
new
关键字,var apple
将是一个看起来像{food:'apple'}
的对象
和。。好不能在对象的末尾放两个括号,因为对象不是函数 通过使用
new
关键字,var apple
将是一个看起来像{food:'apple'}
的对象
和。。好不能在对象的末尾放两个括号,因为对象不是函数 要使当前代码正常工作,只需做几件事
log(apple());要使当前代码正常工作,您只需做几件事
log(apple())
apple
保存一个字符串值,该值由new eatingFood(“苹果”)返回代码>不是函数您永远不应该在构造函数中返回。为什么您希望apple
是函数?您正在使用new
呼叫eatingFood
new Func()
返回一个对象。你认为新的
有什么作用?你读过一些关于新的,比如?@Rajesh-uh?我认为new eatingFood创建了eatingFood函数的一个实例?是的,它创建了一个具有特定结构的对象(例如,它将有一个属性food
)。但该对象不是一个函数。为什么您认为是这样的?apple
持有一个字符串值,该值由neweatingfood(“apple”)返回代码>不是函数您永远不应该在构造函数中返回。为什么您希望apple
是函数?您正在使用new
呼叫eatingFood
new Func()
返回一个对象。你认为新的
有什么作用?你读过一些关于新的,比如?@Rajesh-uh?我认为new eatingFood创建了eatingFood函数的一个实例?是的,它创建了一个具有特定结构的对象(例如,它将有一个属性food
)。但该对象不是一个函数。为什么会这样?如果我想使用new()关键字或创建实例,这是函数中必须执行的一个函数?@Devalor想一想:为什么需要一个新的eatingFood
实例?最符合逻辑的做法是创建一个Food
构造函数,而不是使用eat
函数。您没有使用new()@AndrewLi只是询问您的意见,我的答案是否合理?更新的一个。我发现object literal更有意义,我创建了3个模式:看一看。如果我想使用new()关键字或aka创建实例,这是函数中必须执行的函数?@Devalor思考一下:为什么需要一个新的eatingFood
实例?最符合逻辑的做法是创建一个Food
构造函数,而不是使用eat
函数。您没有使用new()@AndrewLi只是询问您的意见,我的答案是否合理?更新的一个。我发现object literal更有意义,我创建了3种模式:看一看。更准确地说,apple
是一个变量。当然,可以使用一个后跟括号的变量(即调用表达式)。但是,变量的解析值很重要,在本例中它不是一个函数。更准确地说,apple
是一个变量。当然,可以使用一个后跟括号的变量(即调用表达式)。但是,变量解析的值很重要,在本例中它不是函数。