在改变时我试图将随机数传递给函数。在Firefox中,它工作正常,但在Chrome中它不起作用,甚至没有抛出错误,内部编写的代码也没有被执行
如果我删除rand,里面的代码将正常工作
$(document.body).on('change', '.hiddenupload', function (e, rand = Math.floor((Math.random() * 10000) + 1)) {
array[rand]=$(this);
//other code
}
我该如何解决这个问题?
答案 0 :(得分:1)
在JavaScript中,您无法将变量值作为函数参数赋值。所以你必须传递变量,对象,函数,字符串或数字,但是你不能分配值。
function(a, function(b, c){ }) // works
function(a, {b: c}) // works
function(a = b, c) // does not work in javascript
修改强>
作为解决方法,您可以直接在函数内部分配该变量:
$(document.body).on('change', '.hiddenupload', function (e) {
var rand = Math.floor((Math.random() * 10000) + 1);
});