如何用里面的选项代码运行函数?

时间:2013-10-15 04:21:18

标签: javascript json

我有这样的代码:

<script>
function GetData(json)
{
.......

code1()
[or]
code2()
[or]
code3()

}
</script>

我希望使用任何选项(code1,code2,code3)调用GetData

例如:如果使用GetData调用code2(),而使用以下选项打破代码1和代码3,该怎么办?

<script>
code2();
document.write("<script src=\".....callback=GetData\"><\/script>");
</script>

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

阅读您之前的问题,并试图了解您的需求,我相信有两种方法可以解决您的问题:

<强> 1。在回调函数中添加另一个参数
This page有一个很好的回调示例,但我相信你已经理解了这一部分。

在您的代码中,您定义function GetData(json)。也许你应该把它改成

function GetData(json, callbackfunc) {
  ..
  // Here, instead of any logic for code1() or code2() etc, you just
  callbackfunc();
  ..
}

您需要使用新的函数参数修改已调用GetData的位置。

<强> 2。使用全局变量来定义您需要的内容
如果由于某种原因无法传递其他参数,则可能需要为回调定义变量。例如:

 <script type="text/javascript">

   var mynextcallback;

   function GetData(json) {
     ..
     mynextcallback();
     ..
   }       

 </script>

在您致电GetData的部分,您可以mynextcallback = code1; GetData();

答案 1 :(得分:1)

尝试以下小提琴: http://jsfiddle.net/KJSU5/

var code2 = function(){
    alert("This is code2");
};

function GetData()
{

    if(typeof code1 !== 'undefined'){
         code1();
         return;
    }

    if(typeof code2 !== 'undefined'){
         code2();
         return;
    }

    if(typeof code3 !== 'undefined'){
         code3();
         return;
    }
}