RT 求解
26 回复
javascript本来就是动态语言,根本不需要反射 比如,java中动态获得的某对象的某属性需要用反射 但是,javascript中,只需要一个中括号 var obj = {a:"b"}; alert(obj[“a”]);
@shinka 其实各位大神说的挺明白的,通过obj[]实现,在普通游览器下:
var funcName = 'getItems';
window[funcName]();
//这个等同于
getItems();
@shinka javascript中没有像java那样严格的语法和一些好用的东西,关于反射,java内部实现也是通过集合来完成的,依据此可以用js来模拟。只要将类、方法的名字存储在这个公共集合中集合,需要的时候,通过名字就能取出你要的类或者方法,这种模拟方式dojo和extjs都有类似的实现。