繁体   English   中英

在与第二脚本分开的脚本下定义的JavaScript中调用函数

[英]Calling a function in JavaScript defined under a separate script from a 2nd script

题:-

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


说明:-

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

我有一个脚本可以执行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

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

有几种方法可以解决此问题,所有这些方法都涉及控制date_label()的范围。 最简单的解决方法(很快会让我大喊大叫)是将date_label()全局。 在文件中,您只需拥有:

function date_label()
{
   // Implementation
}

确保此函数未嵌套在另一个范围内,例如另一个函数。 只要在date_label之前已加载此脚本文件,就可以了。 函数所位于的物理.js文件完全不相关。

但是,通常您不想污染全局范围。 因此,您可能需要将此函数放在一个命名空间中,该命名空间通常只是一个对象文字:

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

然后,您可以在任何地方调用此函数,如下所示:

MyUtils.date_label();

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM