对于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;
}
感谢。
答案 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();
答案 1 :(得分: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'
}
答案 2 :(得分:0)
如果要重复使用,可以创建全局变量。