Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.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 - Fatal编程技术网

Javascript 调用函数时遇到问题

Javascript 调用函数时遇到问题,javascript,jquery,function,Javascript,Jquery,Function,我试图调用按钮单击事件中的函数 $('#btn_save').button().click(function(){ executeStatement(); }); $.fn.executeStatement = function(){ alert("Here!!!"); $.ajax({ url: 'api.php',

我试图调用按钮单击事件中的函数

$('#btn_save').button().click(function(){
   executeStatement(); 
});

$.fn.executeStatement = function(){
    alert("Here!!!");
    $.ajax({                                      
      url: 'api.php',                          
      data: sqlStatement,                   

      dataType: 'json',               
      success: function(data)          
      {
        alert("Success!!!");
      } 
    });
  }
问题是它从未被调用,因为根据调试器它未定义:
uncaughtreferenceerror:executeStatement未定义

有人能给我一个提示吗?
提前感谢

除非您正在尝试制作jQuery插件(我想您不会吧?),否则请将您的函数声明更改为:

function executeStatement(){
   //code here
}

除非您试图制作jQuery插件(我想您不会吧?),否则请将您的函数声明更改为:

function executeStatement(){
   //code here
}

为了详细说明前面的答案,$.fn有点像jquery的名称空间。任何以美元开头的东西。是jquery的一部分。实际上,您可以通过向$.fn添加函数来向jquery添加功能,但这可能不是您想要的


一开始我也觉得这很让人困惑,所以我想我应该试着澄清一下

为了详细说明前面的答案,$.fn有点像jquery的名称空间。任何以美元开头的东西。是jquery的一部分。实际上,您可以通过向$.fn添加函数来向jquery添加功能,但这可能不是您想要的


一开始我也觉得这很让人困惑,所以我想我应该试着澄清一下

科特的回答完全正确。但我想我会增加它

function executeStatement(){}
这称为函数声明,在本例中有效

var executeStatement = function(){};

这称为函数表达式,在这种情况下也适用。

Curt的回答完全正确。但我想我会增加它

function executeStatement(){}
这称为函数声明,在本例中有效

var executeStatement = function(){};

这称为函数表达式,也适用于此场景。

$.executeStatement()
$.executeStatement()这个正在工作。我只是好奇,我试图创建另一个js文件,并在其中声明了这个方法。然后我尝试调用它,但它不再工作(未定义)。(顺便说一句,新的js文件已导入..)。如何做到这一点,以便我也可以从那里调用它???@Husky我需要查看您的HTML标记和两个js文件的内容,否则这只是猜测工作。可能会发布一个新问题,因为这与你的函数声明问题无关?这个问题很有效。我只是好奇,我试图创建另一个js文件,并在其中声明了这个方法。然后我尝试调用它,但它不再工作(未定义)。(顺便说一句,新的js文件已导入..)。如何做到这一点,以便我也可以从那里调用它???@Husky我需要查看您的HTML标记和两个js文件的内容,否则这只是猜测工作。可能会发布一个新问题,因为这与函数声明问题无关?