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

标签 javascript jquery function runtime-error object-expected

所以在我的<script>里面标签,我有这些功能。

$.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));

现在,我的主要问题是我向您展示的代码是否有任何问题,或者看起来是否正确?因为如果它看起来正确,那么我想我将不得不运行整个代码的其余部分,并寻找可能是一个未关闭的开括号,因为这可能是问题所在。那么是的,我的 placeRandom() 或 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 实际上是一个prototype但在此特定上下文中通常称为 namespace 。

关于Javascript:在另一个函数中调用函数不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19406608/

相关文章:

javascript - 在哪里放置谷歌标签管理器标签片段在 Angular 中?

javascript - IntroJs如何实现高亮区域?

javascript - 单选按钮选择动态更改其他单选按钮值

javascript - 使用画笔时 d3.js 图表内容溢出边距

javascript - Onclick 事件不适用于视频

python - 将函数的输出返回到字典

c++ - 如何避免对非构造函数进行隐式转换?

C++引用类函数错误: identifier is undefined

javascript - 固定标记在中心并拖动 map 以获得纬度,经度

jquery - 使用socket.io 和 angularjs