2016-02-10 3 views
0

Для JS, я следующие функции:JS функция переменных для повторного использования

function custom(){ 
var rhcmm_append = function (data) {  
    var id = data.ids; 
    var name = data.names; 
    // and more variables and conditions etc 
}; 
... 
} 

У меня есть несколько случаев, в которых я использую одни и те же переменные и функции внутри из function(data).

Есть ли способ превратить эти переменные в функцию, которую я могу повторно использовать?

Например:

function VAR_FUNCTION(data){ 
    var rin_ids   = data.thread_id.split(','); 
    var rin_user  = data.user_name; 
} 

Спасибо.

+1

Можете ли вы объяснить более, что вы ищете? Не уверен, что я полностью понимаю. –

+0

Что именно вы подразумеваете под повторным использованием? вы можете просто назначить новые свойства верхним переменным контекста из вашего 'VAR_FUNCTION' –

+0

, не получите его, чего вы просите. вид значений по умолчанию? – Thomas

ответ

1

я не получил именно то, что вы прося, однако, я думаю, вам нужно будет что-то вроде этого:

function extractor(data){ 
    // further processing might be done here. 
    // processing on 'data' 
    return { 
     id: data.id, 
     name: data.name 
    }; 
} 

Затем вы можете использовать эту функцию полезности, где когда-либо вам нужно.

function custom(){ 
    var rhcmm_append = function (data) {  
     var pairs = extractor(data); 

     // do stuff with 'pairs' 
    }; 
... 
} 

Или

function VAR_FUNCTION(data){ 
    var pairs = extractor(data); 
    // do stuff with 'pairs' 
} 
0

Если вы хотите повторно использовать, вы можете создать глобальную переменную.

1

Вы можете сделать эти переменные и функции глобального, ограничить сферу их применения внутри анонимной функции или использовать глобальный объект, который содержит переменные/функции, некоторые примеры:

// Global 
var myVar = 'value'; 
function myFunction(){} 



// Limit scope inside an anonymous function 
(function(){ 
    var myVar = 'value'; 
    function myFunction(){} 

    // To access variables/functions all your code needs to reside inside here 
}); 



// Make a global object 
var reusables = { 
    myVar: 'value', 
    myFunction: function(){} 
}; 

// Example 
reusables.myVar 
reusables.myFunction(); 
Смежные вопросы