Javascript函数超出范围 - 需要js

时间:2015-09-04 14:05:44

标签: javascript function scope requirejs

我有一个名为ui.js的JS文件,其中的一个函数可以做一些事情。这个文件看起来像这样

define(function (require) {
    function someName(param1, param2, param3) {
    ......
    };
}

在另一个JS文件中,我调用我的所有JS文件:

define(function (require) {
  var $ = require('jquery');
  var functionName = require('ui');

  $(function() {

     function one() {
         .....
         someName(value1, value2, value3);
     }
  });
});

函数一个工作没有错误,但当我在其中调用函数someName,然后我得到一个错误someFunction没有定义。我必须超出范围,但我不知道如何使这个工作。我尝试在someName函数的外部和内部调试console.log,我从外部获取日志,但不从内部获取日志。有什么想法吗?

/////编辑 我只是在这里输入错误,我的代码中有右括号

1 个答案:

答案 0 :(得分:0)

我想你正在寻找这个:

ui.js

define(function() {
  return function(param1, param2, param3) {
    ...
  };
}

someOtherModule.js

define(["jquery", "ui"], function($, ui) {
  $(function() {
    ...
    ui(v1, v2, v3);
  });
});

如果 ui.js 应该提出几种方法:

ui.js

define(function() {
  return {
    f1: function() {
      ...
    },
    f2: function() {
      ...
    }
  };
}

someOtherModule.js

define(["jquery", "ui"], function($, ui) {
  $(function() {
    ...
    ui.f1();
    ui.f2();
  });
});