Javascript jQuery-未定义函数

Javascript jQuery-未定义函数,javascript,jquery,Javascript,Jquery,我有两个.js文件。在第一个.js文件中,我声明并执行如下函数: (function($){ function something(){ //code here } $(document).ready(function(){ something(); }); })(jQuery); 另外,我想执行second.js中的something函数。我的代码如下: (function($){ $(document).ready(function(){ //

我有两个.js文件。在第一个.js文件中,我声明并执行如下函数:

(function($){
  function something(){
    //code here
  }

  $(document).ready(function(){
    something();
  });
})(jQuery);
另外,我想执行second.js中的something函数。我的代码如下:

(function($){
  $(document).ready(function(){
    //more code
    something();
    //more code
  });
})(jQuery);
但是,当程序执行时,我得到以下错误: 未捕获引用错误:未定义某些内容

可能的解决办法: 我解决了将函数声明为:

(function($){
  this.something = function(){
    //code here
  }

})(jQuery);

这是100%正确吗?

您不能在一个作用域内定义一个函数,然后尝试在另一个作用域中使用该函数。您还不了解函数和作用域在JavaScript中是如何工作的


.

这很正常,您在中声明了函数,因此不能在块外使用它。尝试在函数$之外声明函数。。。块。

您能显示您定义块的确切位置吗?看起来像是一个范围问题。请详细说明你的问题……这是一个范围问题-将某事物的定义移到结束之外。@DownVorters:这不是因为有人不理解原则就放弃投票的理由。这个问题很好。你们可以投票结束,我们都可以继续前进,但这种激进的向下投票并不酷。如果你们投票结束,请不要回答。从技术上讲,这应该是一个评论。附言:我没有投反对票。我只是想帮你。@Alex你是对的,但回答了错误的问题:@PraveenKumar我知道,我能处理@亚历克斯:当然谢谢你的回答。我试过了,但出现了一个新的错误:uncaughttypeerror:$不是函数…。我读到当函数像这样执行时:$selector.function1,然后我们像这样声明:$.fn.function1{}。然而,在我的例子中,我只调用了没有选择器的函数。我应该如何声明它?在文件的顶部,在$function之前。。。。但我认为你误解了js的范围,你应该看看。顺便说一句,$.fn.function1{}是一种jQuery函数插件,它不是标准的js,请小心