js 函数中如何获取另一个函数的返回值

JavaScript022

js 函数中如何获取另一个函数的返回值,第1张

涉及到网络通信, 你这已经是异步了

解决方案

要麽换成同步的写法

要麽使用最普通的callback写法

function getAllDeptData(){

    var str = "全院"

    getDataByDept(str,function(data)

    {

        alert(data)

    })

}

//获取json中的数据

function getDataByDept(obj,Callback){

    var dataset = []

    $.getJSON("tourism.json",function(data){

        if((obj.indexOf("全院")==0 )&& ("全院".indexOf(obj) == 0)){

            $.each(data.provinces,function(i,info){

                var temp = {}

                temp.name = info["name"]

                temp.dept = info["dept"]

                temp.value = info["value"]

                 

                dataset.push(temp)

            })

            Callback(dataset)

        }else{

            $.each(data.provinces,function(i,info){

                if(info["dept"] == obj){

                    var temp = {}

                    temp.name = info["name"]

                    temp.dept = info["dept"]

                    temp.value = info["value"]

                     

                    dataset.push(temp)

                }

            })

            Callback(dataset)

        }

    })

}

有两个函数a和b

function a(){ return 1}

function b(){ return a()}

这就是一个简单的获取,执行b()的时候,返回结果是1,即a()的返回值,但是显然上面这种写法没有多大的意义,在实际应用中,写的可能要复杂一些,同时也便捷一些。