Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:在另一个函数中调用函数不起作用?_Javascript_Jquery_Function_Runtime Error_Object Expected - Fatal编程技术网

Javascript:在另一个函数中调用函数不起作用?

Javascript:在另一个函数中调用函数不起作用?,javascript,jquery,function,runtime-error,object-expected,Javascript,Jquery,Function,Runtime Error,Object Expected,所以在我的标签中,我有这些函数 $.fn.getRandom = function(min, max) { return min + Math.floor(Math.random() * (max - min + 1)); } function placeRandom() { alert(getRandom(1,7)); } 我这样调用placeRandom()函数 $(document).ready(function() { placeRandom(); });

所以在我的
标签中,我有这些函数

$.fn.getRandom = function(min, max) {
    return min + Math.floor(Math.random() * (max - min + 1));
}

function placeRandom() {
    alert(getRandom(1,7));
}
我这样调用
placeRandom()
函数

$(document).ready(function() {
    placeRandom();
});
当我这样做的时候,它给了我一个

Object expected
错误,并引用我写的行

alert(getRandom(1.7));

现在,我的主要问题是,我展示的代码是否有任何错误,或者它看起来是否正确?因为如果它看起来是正确的,那么我想我必须运行我的整个代码的其余部分,寻找一个没有闭合的开放括号,因为这可能是问题所在。那么,my placeRandom()或getRandom()函数是否有任何问题,或者错误是否是由于这些函数以外的其他原因造成的?

如果要将
getRandom
绑定到jQuery命名空间,则只能通过jQuery对象实例或通过
$.fn.getRandom()访问它。


因此,除非您希望能够像调用
$(选择器).getRandom()
那样调用它,否则只需将其声明为标准函数。

您将
getRandom
绑定到jQuery命名空间,您将只能通过jQuery对象实例或通过
$.fn.getRandom()


因此,除非您希望能够像调用
$(selector).getRandom()
那样调用它,否则只需将其声明为标准函数。

问题在于您正在定义
getRandom
函数。您将它放在jQuery.fn名称空间中。如果你像下面这样组织你的代码,它应该工作得更好

var getRandom = function(min, max) {
    return min + Math.floor(Math.random() * (max - min + 1));
}

var placeRandom = function() {
    alert(getRandom(1,7));
}

$(document).ready(function() {
    placeRandom();
});
其他信息:
jQuery.fn实际上是一个名称空间,但在此特定上下文中通常称为名称空间

问题是您正在定义
getRandom
函数。您将它放在jQuery.fn名称空间中。如果你像下面这样组织你的代码,它应该工作得更好

var getRandom = function(min, max) {
    return min + Math.floor(Math.random() * (max - min + 1));
}

var placeRandom = function() {
    alert(getRandom(1,7));
}

$(document).ready(function() {
    placeRandom();
});
其他信息:
jQuery.fn实际上是一个名称空间,但在此特定上下文中通常称为名称空间

您正在将
getRandom
绑定到$namespace(jQuery)。因此,您必须调用它
$.fn.getRandom(1,7)
,或定义以下函数:

function getRandom(min, max) {
    return min + Math.floor(Math.random() * (max - min + 1));
}

您正在将
getRandom
绑定到$namespace(jQuery)。因此,您必须调用它
$.fn.getRandom(1,7)
,或定义以下函数:

function getRandom(min, max) {
    return min + Math.floor(Math.random() * (max - min + 1));
}


您将
getRandom
绑定到jQuery命名空间,只能通过jQuery对象实例或通过
$.fn.getRandom()
以调用
getRandom
的方式访问它,我想您只需要一个标准函数
getRandom函数(最小值,最大值).
为什么要使用
$.fn
?哦,好的,我将改为getRandom函数()。是的。这正是我的意思。如果要将函数集成到库中(如插件),则仅将函数附加到jQuery。查看我的回答如果您将
getRandom
绑定到jQuery命名空间,您将只能通过jQuery对象实例或通过
$.fn.getRandom()
以调用
getRandom
的方式访问它,我想您只需要一个标准函数
getRandom函数(最小值,最大值).
为什么要使用
$.fn
?哦,好的,我将改为getRandom函数()。是的。这正是我的意思。如果要将函数集成到库中(如插件),则仅将函数附加到jQuery。看我的回答,这是一个原型,不是一个名称空间,它是一个指向jQuery原型的名称空间。想争论语义吗?是的,会的。试试看:)在JavaScript中,函数是,这意味着您可以用它们做很多有趣的事情,比如将它们作为参数传递给其他函数,将它们的引用存储在变量中,或者在对象中使用它们。这是一个原型,而不是一个名称空间。这是一个指向jQuery原型的名称空间。想争论语义吗?是的,会的。试试看:)在JavaScript中,函数是,这意味着你可以用它们做很多有趣的事情,比如将它们作为参数传递给其他函数,将它们的引用存储在变量中,或者在对象中使用它们。这是一个原型,而不是名称空间。非常正确,我将在我的回答中澄清。这是一个原型,不是名称空间。非常正确,我会在答覆中澄清。