Javascript 如何在函数对象文本中传递参数

Javascript 如何在函数对象文本中传递参数,javascript,jquery,Javascript,Jquery,我想将整数作为min和max参数传递给一个函数,以返回一个随机数,供另一个函数使用。我是Javascript新手,使用的是对象文字模式。目前我得到的错误是“this.randomGenerator不是函数”。如何从随机生成器返回要在交互中使用的数字 bindEvents:function(){ $('#left')。在(“单击”,this.interaction); }, 交互:函数(){ var选择器=这个随机发生器(0,3); var$columns=$(“#左”).find('div[c

我想将整数作为min和max参数传递给一个函数,以返回一个随机数,供另一个函数使用。我是Javascript新手,使用的是对象文字模式。目前我得到的错误是“this.randomGenerator不是函数”。如何从
随机生成器
返回要在
交互
中使用的数字

bindEvents:function(){
$('#left')。在(“单击”,this.interaction);
},
交互:函数(){
var选择器=这个随机发生器(0,3);
var$columns=$(“#左”).find('div[col]”);
$columns.children().removeClass('show');
$columns.eq(选择器).children().addClass('show');
},
随机生成器:函数(最小值、最大值){
最后,
价值
计数=0,
getR=function(){return Math.floor(Math.random()*(max-min))+min;};
返回函数(){
var随机;
如果(计数和值!==最后一个){
--计数;
返回最后一个=值;
}
random=getR();
while(随机===最后一次){
值=随机;
++计数;
random=getR();
}
返回最后一个=随机;
};

},
问题是因为
单击处理程序中的
指的是单击的元素,而不是包含
randomGenerator()
函数的对象

要解决此问题,可以在变量中保留对
this
的引用,然后使用
$.proxy()
(或
bind()
)将其设置为
randomGenerator()
函数应在其下运行的范围。试试这个:

var obj={
bindEvents:function(){
var_this=这个;
$('#左')。在(“单击“,$.proxy(_this.interaction,_this));
//注意:如果愿意,也可以使用本机bind()方法:
//$('#左')。在(“单击“,_this.interaction.bind(_this));
},
交互:函数(){
var选择器=这个随机发生器(0,3);
console.log(selector());//仅用于测试。。。
var$columns=$(“#左”).find('div[col]”);
$columns.children().removeClass('show');
$columns.eq(选择器).children().addClass('show');
},
随机生成器:函数(最小值、最大值){
最后,
价值
计数=0,
getR=函数(){
返回Math.floor(Math.random()*(max-min))+min;
};
返回函数(){
var随机;
如果(计数和值!==最后一个){
--计数;
返回最后一个=值;
}
random=getR();
while(随机===最后一次){
值=随机;
++计数;
random=getR();
}
返回最后一个=随机;
};
}
}
obj.bindEvents()


单击我
感谢您抽出时间回复,这很有意义。U强调了什么信号?什么都没有。这只是一个命名约定。它们没有编程意义