我有一个这样的课程
$.fn.dimeBar = function(custom) {
var var1 = 'test1';
var var2 = 'test2';
if(sometest){
//how can i access var1 or var2 here by using string name of variables
//some thing like alert(this['var1']) --> should alert: 'test1'
}
}
答案 0 :(得分: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
答案 1 :(得分:-3)
您只需使用: ....
if(sometest) { 警报(VAR1); } ....
由于您在if语句之前声明了变量,因此它们将在其中可用。
如果你担心范围,如果它在一个对象中,你会使用: 警报(this.var1);