【问题标题】:function accessing between two or more scripts两个或多个脚本之间的函数访问
【发布时间】:2012-08-21 06:14:49
【问题描述】:

我有两个脚本,我需要在 script2 中使用 script1 函数。最好的方法是什么?使用原型访问更多脚本中的功能是否有任何简化。我正在使用 jquery。

脚本1

$(function(){
 function  process(){
// some code
}
})

脚本2

$(function(){

// I would like to use the process function here

}

【问题讨论】:

  • 学习 javascript 和之后的 jquery
  • 这是非常基本的,这里可能已经有很多骗子了,你应该在提问之前搜索一下。此外,阅读FAQ 也是一个好主意。

标签: javascript jquery html function scope


【解决方案1】:

示例.html

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    </HEAD>
    <script type="text/javascript" charset="utf-8" src="Script1.js" ></script>
    <script type="text/javascript" charset="utf-8" src="Script2.js" ></script>
    <script>
    </script>
    <BODY onload='calling();'>
    </BODY>
    </HTML>

Scrip1.jc

function call(){
    alert("Hi i am called from script2");
}

Scrip2.js

function calling(){
    call();
}

希望对您有所帮助。

【讨论】:

    【解决方案2】:

    您可以将 javascript 函数用作变量。因此,只需重新阅读有关变量的相同问题的问题 - Unable to access variable

    因此,您的函数将在全局范围内可用。

    【讨论】:

      【解决方案3】:

      只需将函数声明移到就绪事件处理程序之外,即可使其全局可用。

      【讨论】:

        【解决方案4】:

        另一个想法:使用对象:

        var Ob = {
           process: function(callback) {
             callback();
           }
        }
        

        脚本1

        $(function(){
         Ob.process(function(){
              ... // code
           });
        });
        

        脚本 2(做同样的事情)

        $(function(){
         Ob.process(function(){
              ... //another code
           });
        });
        

        如果您使用相同的process 函数(表示相同的正文内容,在两个脚本中制作相同的内容)然后

        var Ob = {
           process: function() {
             ...//put code
           }
        }
        

        脚本1

        $(function(){
         Ob.process();
        });
        

        脚本 2(做同样的事情)

        $(function(){
         Ob.process();
        });
        

        【讨论】:

        • 我知道这个但我正在寻找其他的 --|-
        • 你知道吗?它比你的例子更可靠。
        猜你喜欢
        • 2012-05-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-19
        • 2019-03-26
        • 2017-06-16
        • 2021-12-09
        • 1970-01-01
        相关资源
        最近更新 更多