我在javascript中的星球“类”。当用户点击html5画布时,会调用合适的星球的manageClick函数,它应该改变某个div的内容。内容应该变成一个按钮。如果用户点击它,那么应该调用星球的函数createShip。非字面参考自我
现在的问题是如何传递到行星本身的参考?我试图创建一个新的函数,在任何对象上调用createShip(),然后用参数'this'调用它。但它似乎并不奏效。什么是正确的方法来做到这一点?
Planet.prototype.createShip =function() {...}
Planet.prototype.manageClick=function() {
$(".dropdown").html("<button onclick=\"buyship(this)\">Buy a ship</button>");
}
function buyship(obj) {
obj.createShip();
}
它不应该是'this.buyship()'? –
请注意您的大小写。 '... prototype.CreateShip'不匹配'obj.createShip()'。另外,在命名要直接调用的方法或函数时,请使用camel case('createShip')。对要被称为构造函数(即var obj = new CreateShip()')的函数使用pascal case('CreateShip','ManageClick')。 –