IE8 中执行 eval() 问题
今天突然发现在ie8中执行eval()有问题,原本我是想通过eval()创建对象 ,但IE8+不支持,在网上也查了相关资料,但没有找到结果 ,求助大伙。
var swordWidget = eval("new " + className + "()"); //className就是js对象的名字,但ie8+不能创建
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
我测试了没发现问题。一定是你的代码有问题!
试试加上括号, 或者就把定义的变量写里面!
var obj=eval('(new '+classname+'())');
或者eval('var obj=new '+classname+'()');
或者var obj={};eval('(obj.target=new '+classname+'())');//取出target
或者eval('({target:new '+classname+'()})');//取出target
或者eval('(function(){return new '+classname+'();})()')
至少有一种可以
不过这样做实际上没有什么好处...真的
在ie中使用
window.execScript看看,你确保你此处的代码
className 定义了吗?
在ie中使用
window.execScript看看,你确保你此处的代码
className 定义了吗?
试了,但不行
是提示没有eval函数么?
如果不是 则可以eval("var swordWidget = new " + className + "()");
这样试试