2010-04-19 4 views

ответ

2

Попробуйте что-то вроде:

$.fn.dimeBar = function(custom) { 
    var options = { 
    var1: 'test1', 
    var2: 'test2' 
    }; 

    if(sometest){ 
    var foo = 'var1'; 
    alert(options[foo]); // "test1" 
    } 

}; 

Альтернативно, это может быть немного больше, рядный с jQuery Plugin Development Pattern

(function($){ 
    $.fn.dimeBar = function(options){ 

    // defaults 
    options = $.extend({ 
     var1: "default", 
     var2: "hello world" 
    }, options); 

    // debug options 
    $.each(options, function(key, value){ 
     console.log(key+' is set to'+value);  
    }); 

    }; 
})(jQuery); 

$('#foo').dimeBar({var2: "hello kitty"}); 

// console output 
// var1 is set to default 
// var2 is set to hello kitty 
-3

Вы бы просто использовать: ....

если (sometest) { оповещения (var1); } ....

Поскольку вы объявили вары перед утверждением if, они будут доступны изнутри.

Если вас беспокоит область действия, если она находится внутри объекта, вы должны использовать: alert (this.var1);

+0

Но он должен получить доступ по имени переменной ... – Warty

+0

я хочу, чтобы получить доступ к нему с его именем строки 'var1' – coure2011

+0

+1 причина -4 кажется слишком суровой здесь. он может не ответить на вопрос, но ответ не день и ночь ни на вопрос. – Anurag

Смежные вопросы