在jquery中将值从方法发送到另一个方法

时间:2015-07-27 07:42:02

标签: javascript jquery jquery-ui javascript-events

我有以下代码:

pz.flashCall = {
    updateChest: function (value, type) { 
        console.log(result);    
    },
    gameResult : function (result, level){
        var result = result;
    }

问题是如何将变量result从方法gameResult()发送到updateChest(),我尝试使用var但没有结果。你能帮我吗 ? Thx提前

2 个答案:

答案 0 :(得分:1)

有几种方法可以做到这一点。这是最容易和最糟糕的方式:全局变量。

// res is available globally
var res;

pz.flashCall = {
    updateChest: function (value, type) { 
       // Access global variable `res`
       console.log(res);    
    }
    ,gameResult : function (result, level){
        // Set the global variable `res`
        res = result;
    }
...

另一种方法是将变量存储在flashCall对象上。这假定您始终会调用flashCall中的方法,即flashCall.gameResult()flashCall.updateChest()

pz.flashCall = {
    updateChest: function (value, type) {
       // Access `flashCall.result`
       console.log(this.result);    
    }
    ,gameResult : function (result, level){
        // Set `flashCall.result`
        this.result = result;
    }
...

答案 1 :(得分:-1)

// result - 现在是一个全局变量。你可以随时打电话

var result;
var  flashCall = {
    updateChest : function(p_value,p_type){
       console.log(result); 
   },
    gameResult : function(p_result,p_level){
       result = p_result;
    }
}

//或在类中声明如下所示并从外部调用,如//flashCall.result

var flashCall = {
    result:null,
    updateChest : function(p_value,p_type){
       console.log(this.result); 
    },
    gameResult : function(p_result,p_level){
        this.result = p_result;
    }
 }

像这样你可以全局声明变量