mik*_*eum 18 javascript variables
我需要定义一个哈希,用于使用jQuery发布一些ajax数据.哈希看起来像:
var setname = 'set_1';
elements = { set_1: {'beer','water','wine'} };
Run Code Online (Sandbox Code Playgroud)
我需要解决的挑战是'set-1'(数组元素的关键)应该根据值的动态命名var setname.
我想避免使用eval()当然..在PHP中它可以使用这样的双美元符号来完成:$$setname,但是在JavaScript中这样做的方法是什么?
Dan*_*uis 31
你可以做你想要的事情:
var setname = 'set_1', elements = {};
elements[setname] = ['beer','water','wine'];
alert(elements['set_1']); // beer,water,wine
Run Code Online (Sandbox Code Playgroud)
请参阅http://jsfiddle.net/x5KRD/上的此操作.
可以使用点表示法(obj.method()或obj.property)或括号表示法(obj['method']()或obj['property'])来访问JS中的所有对象.使用括号表示法可以动态指定方法/属性/键名称.
例如,虽然笨拙,window['alert']('hi')相当于window.alert('hi').
请注意,无论如何,您的代码将不会按原样运行,因为您使用对象文字符号({'beer','water','wine'})来包含数组(它应该在方括号中['beer','water','wine']).对象文字需要具有键值对.
var setname = 'set_1',
elements = {};
elements[setname] = ['beer','water','wine'];
Run Code Online (Sandbox Code Playgroud)