2013-03-29 46 views
-2

有人能指引我朝着正确的方向吗?如何将引用变量传递给JavaScript中的对象文字?我使用的是Backbone.js,具体而言,我使用的是collections.where方法。所以,我有话如下:对象文字和动态变量

var temp = customers.where({num: 10}); 

然而,如果什么人有一个像变种X变量(即改变),他们想要说些什么类似如下:

var temp = customers.where({num: x}); 

的JavaScript不会我知道,让你这样做。但是它是如何完成的?或者你如何解决它?

+0

你尝试了吗?这工作:'var x = 10; var temp = customers.where({num:x});'。也许对你想要完成的事情更具体。 –

+0

JavaScript会让你做到这一点。它是不是评估表达式的*属性名称*(与*值*相对)。 – 2013-03-30 00:08:55

+0

@PaulHoenecke http://stackoverflow.com/questions/15710923/trouble-referencing-variable-in-collections-where-method-within-render-function - 请你可以看看该链接上的代码。我认为这可能是一个封闭问题,如下所示。我很新的javascript – user2225631

回答

3

创建这样一个封闭在x

var x = 10; 
var filter = function() { return customers.where({num: x}); }; 

var temp = filter(); // uses x = 10 

x = 20; 
temp = filter(); // uses x = 20 
+0

感谢您的反馈。我将在明天更充分地研究关闭 – user2225631