0

问题:-

如何从不同脚本中的另一个函数调用在同一 javascript 文件中的不同脚本下定义的函数?


解释:-

所以我在同一个javascript文件中有2个脚本(default.aspx)

我有一个执行 jquery 的脚本...

$.Ajax { .... OnScucess: Onsuccess () function}

Onsuccess() { call another function called date_label() }

date_label()函数在单独的脚本中定义......其中有一个名为

timeLine(){ within it is the function date_label() {....} }

现在,当我尝试在我的Onsuccess()函数中调用 date_label 时,我收到一条明显的错误消息 - 未定义。但我相信一定有办法让它发挥作用。有任何想法吗?

我在看这个:-

http://answers.unity3d.com/questions/11206/call-a-function-in-a-different-script-using-javasc.html

但我的脚本标签没有名字......

4

1 回答 1

1

有几种方法可以解决这个问题,所有方法都涉及控制date_label(). 最简单的解决方法(很快就会让我大喊大叫)是date_label()全球化。在文件中,您只需:

function date_label()
{
   // Implementation
}

确保此函数没有嵌套在另一个范围内,例如另一个函数。只要在date_label调用此脚本文件之前已加载,就可以了。.js函数位于什么物理文件中完全无关紧要。

但是,通常您不想污染全局范围。出于这个原因,您可能希望将此函数放在名称空间中,该名称空间通常只是一个对象字面量:

var MyUtils =
{
   date_label: function ()
   {
      // Implementation
   }
};

然后你就可以像这样在任何地方调用这个函数:

MyUtils.date_label();

通常的做法是为您的应用程序或库定义命名空间,以免与页面上可能存在的其他代码冲突。

于 2013-02-18T17:22:59.260 回答