javascript - 我不断收到 Uncaught TypeError : Object [object global] has no method error during function call

标签 javascript

我创建了一个函数,它会在第三次调用时执行一些独特的操作。在这种情况下,请警告增加的数字。但是,当尝试从另一个函数调用此函数时: “MyFunction();”,我得到 Uncaught TypeError: Object [object global] has no method 'MyFunction'。你能告诉我我做错了什么吗?

var counter = 0;
var num = 0;

function = MyFunction() {
// increment outside counter
counter++;
if (counter === 3) {
    // do something every third time
    num++;
    alert('the new number is: ' + num);
    // reset counter
    counter = 0;
 }
}

我还尝试删除 = 符号,如您在此处看到的 http://jsfiddle.net/DN3yC/6/它不起作用。

最佳答案

LIVE DEMO

只需删除 =标志function MyFunction() {并确保在你的 fiddle 中 JS <script>位于正确的位置请参阅下面的附加说明

示例:

var element = document.getElementById('button');
var counter = 0;
var num = 0;

function MyFunction() {
   counter = ++counter % 3; // loop count
   if ( !counter ) {
      num++;
      alert('the new number is: ' + num);
   }
}


//On click:
element.addEventListener('click', MyFunction, false);

你的新 fiddle :http://jsfiddle.net/DN3yC/7
你的旧的不能工作,因为你没有使用No Wrap - in body对于你的 fiddle 中的 JS。 (请参阅左上角的选项面板)

所以基本上你需要把你的 <script> </body> 之前的标签结束标记以确保 DOM 在元素操作之前已准备好并由 JavaScript 解析。

关于javascript - 我不断收到 Uncaught TypeError : Object [object global] has no method error during function call,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21977410/

相关文章:

javascript - 如何在显示之前通过 javascript/jquery 删除 html 元素

javascript - 自定义箭头键导航无法正常工作(一部分有效)

javascript - 如何在 Bootstrap 中将单选按钮设置为 "checked"?

javascript - jQuery加载字符编码问题

javascript - NodeJS - 可从客户端和 Node 访问不同的文件

javascript - 如何将 fancybox 绑定(bind)到动态添加的元素?

javascript - 为不同的显示器尺寸自动调整 Shiny webapp 页面

php - 使用哪个正则表达式来确定要为 html 属性和 javascript 转义哪些字符?

javascript - GXT 不工作

javascript - 为什么我们不在 javascript 中使用函数参数的数据类型?