JavaScript:如何使用参数创建原型函数
这是我第一次在JavaScript中使用原型,我需要一些帮助 我有一门课JavaScript:如何使用参数创建原型函数,javascript,Javascript,这是我第一次在JavaScript中使用原型,我需要一些帮助 我有一门课 function snakegame(C, C_w, C_h, Ls, spd) { // .... bunch of other stuff ... this.boxCollision = function(A, B) { return A.x == B.x && A.y == B.y;
function snakegame(C, C_w, C_h, Ls, spd)
{
// .... bunch of other stuff ...
this.boxCollision = function(A, B)
{
return A.x == B.x && A.y == B.y;
}
// ... bunch of other stuff here too ...
}
我想原型化boxCollision函数,即在snakegame中定义它,然后在外部编写实现。我试过了
function snakegame(C, C_w, C_h, Ls, spd)
{
// .... bunch of other stuff ...
this.boxCollision(A, B);
// ... bunch of other stuff here too ...
}
snakegame.prototype.boxCollision = function(A, B)
{
return A.x == B.x && A.y == B.y;
}
但那没用
我还试着为原型编写这个.boxCollisionvar,var,但也没有成功。正确的方法是什么?您可能希望这样做:
var SnakeGame = function () {
//Constructor code
};
SnakeGame.prototype = new Object(); //Or what ever object you are going to inherit from
SnakeGame.prototype.boxCollision = function() {
//code
};
SnakeGame.prototype.otherFunction = ...
然后要使用它,请执行以下操作:
var mySnakeGame = new SnakeGame();
mySnakeGame.boxCollision();
同样,在你的物品上使用大写字母是很重要的,SnakeGame而不是SnakeGame。这是一种惯例,有助于你把事情搞清楚
如果您想了解有关JavaScript原型的更多信息,本文还提供了更多信息。那么,在第一种情况下,您是如何调用boxCollision的?这是A,B;仅当定义了A和B时才有效。问题似乎不在于原型,而在于如何调用方法。您传递给它的参数必须与任何其他函数一样存在,无论原型与否。您不需要定义。您可以直接实现。i、 e拆下本箱碰撞A、B的管路;而且它可以根据您的需要工作。顺便说一句,我建议您阅读一些有关此主题的文档,如MDN: