【发布时间】:2013-03-16 05:59:57
【问题描述】:
我无法将值传递给对象的方法。我希望能够在调用对象方法时将变量传递给它,但是我似乎无法弄清楚这是如何完成的。
注意:我需要通过引用传递这些值,但是我使用字符串来保持示例简单,在我的实际代码中我传递对象。
function makeObject(){
var object = [ ];
object.parameter1 = 0;
object.parameter2 = "text";
object.method = function (var1, var2){
console.log(var1+" "+var2);
}
return object;
}
var myObject = makeObject();
这就是我期望的工作方式
myObject.method("hello", "world");
//console returns "undefined undefined"
我后来读到 bind 可能是答案,但这似乎不起作用
myObject.method.bind("hello", "world");
//console returns "undefined undefined"
【问题讨论】:
-
我认为你在这里混合了概念,而且
object不是一个实际的对象{}是一个数组[]。你正在尝试制作一个构造函数?如果您阅读bind,您会发现它并没有像那样使用,bind只是更改了this的上下文。 -
你可能不应该使用变量名对象,因为它是一个保留字
-
实际上它应该可以工作。如果您在控制台中测试它,它会起作用。你应该使用
{}。无论如何,数组也是对象,所以问题可能出在其他地方。 -
你的样品工作得很好。请验证您是否确实看到您发布的代码存在问题,如果没有 - 请对其进行编辑,以便它实际显示问题。
-
感谢所有 cmets / 帮助,仍在苦苦挣扎,等我用完新信息后会回复
标签: javascript variables object methods