RT 求解
为啥不用eval?
因为不够好 具体原因网上有不少的
java中的反射是神马样的?
像是PHP中的 $p = ‘ppppp’; $thisp = ‘p’; $$thisp ??
@shinka 不好也得用。木有别的办法
可否把具体需求说一下啊,反射机制听得很空啊,而且cnodejs club中用java的人也不是全部吧
javascript本来就是动态语言,根本不需要反射 比如,java中动态获得的某对象的某属性需要用反射 但是,javascript中,只需要一个中括号 var obj = {a:“b”}; alert(obj[“a”]);
反射方法名
嗯 这个我知道 我是想问下 比如var funcName = “getItems”; getItems是一个Function名称,怎样不用eval去执行getItems()这个函数
也许就是你说的意思吧 在下不懂php
比如var funcName = “getItems”; getItems是一个Function名称,怎样不用eval去执行getItems()这个函数
比如var funcName = “getItems”; getItems是一个Function名称,怎样不用eval去执行getItems()这个函数
@shinka 楼下(#6楼)已经说了,大多数情况都可以 。 另外,我不解为什么不能用 eval ?
@shinka 其实各位大神说的挺明白的,通过obj[]实现,在普通游览器下:
var funcName = 'getItems';
window[funcName]();
//这个等同于
getItems();
@151263 恕我愚笨 看了例子才反应过来 谢谢
@cony138 嗯嗯 这下看懂了 谢谢啊~
@leizongmin 嗯 搞懂了 eval有一些弊端 之前看到过现在记不得了 下次若是想起来再跟哥们说吧
@shinka javascript中没有像java那样严格的语法和一些好用的东西,关于反射,java内部实现也是通过集合来完成的,依据此可以用js来模拟。只要将类、方法的名字存储在这个公共集合中集合,需要的时候,通过名字就能取出你要的类或者方法,这种模拟方式dojo和extjs都有类似的实现。
@a272121742 哇塞 谢谢啊 学到老 活到老
@shinka 不客气
@shinka 客气了
@shinka 他说的是php中的字符串变量,跟php的反射表面上没有关系。
12 年的帖子… 话说,动态语言也没有反射这个概念吧…
反射什么啊?需要什么require一下就可以啊