从js文件返回值

时间:2013-03-04 12:15:02

标签: javascript jquery html function

我的js页面中有两个html文件。如果第一个以:

开头
 (function($){
   ..  
   ..
   }(jQuery));

我可以将var插入function($,varname)return它的值并在另一个文件中使用它吗?

3 个答案:

答案 0 :(得分:3)

你需要一个全局变量。您可以通过以下几种方式之一完成此操作。我们假设我们需要将值“Bacon”发送到另一个脚本。

(function($){
   window.myScriptsExports = "Bacon";
}(jQuery));

// OR

var myScriptsExports = (function($){
   // other code
   return "Bacon";
   // NO other code
}(jQuery));

// OR (not really recommended)

(function($){
   // other code
   $.myScriptsExports = "Bacon";
   // other code
}(jQuery));

答案 1 :(得分:2)

您可以使用全局命名空间来改进代码,如:

    (function($,global){
       var _obj = {};
       _obj.property1 = 'Property1';
       _obj.function1 = function() { console.log('Function 1');};
       global.myObject = _obj;
     }(jQuery,window));

     //accessing
     window.myObject.property1
     //or
     window.myObject.function1()

答案 2 :(得分:1)

假设您的功能是同步的,您可以设置一个全局功能:

   (function($){
   .. 
      var myvar = 666; 
      window.getMyVar = function() {
         return myvar;
      };
   ..
   }(jQuery));

如果在此之后导入第二个文件,则可以从其他函数中使用它:

   (function($){
   .. 
      var myprevisouslysetvar = window.getMyVar();
   ..
   }(jQuery));

请注意,javascript中的文件无关紧要:如果两个文件连接在一起,那么您的页面将会起作用(如果您使用“严格”,则除外)。