Javascript 错误:不是函数。我怎样才能修好它?
这是我的电梯程序。但我有错误Javascript 错误:不是函数。我怎样才能修好它?,javascript,function,Javascript,Function,这是我的电梯程序。但我有错误 var person = { name: "Roman", position: 2, goal: 9 }; var lift = { getPosition : function() { var x = Math.floor((Math.random() * 10) + 1); return x; } ()}; console.log("Ok " + person.name + "! You are at " + person.posi
var person = {
name: "Roman",
position: 2,
goal: 9
};
var lift = {
getPosition : function() {
var x = Math.floor((Math.random() * 10) + 1);
return x;
} ()};
console.log("Ok " + person.name + "! You are at " + person.position + " floor");
console.log("Lift is at " + lift.getPosition() + " floor");
错误lift.getPosition不是一个函数
如何修复它???您的代码看起来已损坏:
var lift = {
getPosition : function() {
var x = Math.floor((Math.random() * 10) + 1);
return x;
} ()};
看来这应该是
var lift = {
getPosition : function() {
var x = Math.floor((Math.random() * 10) + 1);
return x;
}
};
声明getPosition时,为该属性分配了一个自调用匿名函数。(最后的
()
会自动调用它)
您可以删除它们()
,并像调用“lift.getPosition()
”一样调用该方法:
或者离开它们,只调用属性而不使用()
“lift.getPosition
”:
但每次使用它时都会返回相同的值,因为它只执行一次。这真的取决于你想要完成什么 function(){}
是一个匿名函数声明。但是function(){}()
是一个匿名函数调用,这不是您想要的,因为现在lift.getPosition
将只是一个整数,而不是一个函数。
var lift = {
getPosition: function() {
var x = Math.floor((Math.random() * 10) + 1);
return x;
}()
};
var lift = {
getPosition: function() {
var x = Math.floor((Math.random() * 10) + 1);
return x;
}
};
console.log("Lift is at " + lift.getPosition() + " floor");
var lift = {
getPosition: function() {
var x = Math.floor((Math.random() * 10) + 1);
return x;
}()
};
console.log("Lift is at " + lift.getPosition + " floor");