eval生成函数问题
<script language= "javascript ">
var js= "function aaa(){alert( 'aaa ');} ";
function bbb(){
eval(js);
aaa();
}
function ccc(){
bbb();
aaa();
}
</script>
<input type= "button " value= "测试1 " onclick= "bbb() ">
<input type= "button " value= "测试2 " onclick= "ccc() ">
为什么eval生成的函数在ccc()里不能调用。要想通过触发按钮生成全局函数怎么做?
------解决方案--------------------var js= "function aaa(){alert( 'aaa ');} ";
改成
var js= "window.aaa = function(){alert( 'aaa ');} ";
------解决方案--------------------window.eval里面的scope不是global scope
所以function要这样定义:
var xxx = function (...)
------解决方案--------------------去掉aaa
------解决方案--------------------不是说了么,var aaa = function (...) ...
------解决方案--------------------作个记号
------解决方案--------------------var aaa = function (){
...
}