<script>
var iNum=10;
function callAnotherFunc(fnFunction,vArgument) {
fnFunction(vArgument);
}
var doAdd = new Function("iNum" , "alert(iNum + 12)");
callAnotherFunc(doAdd, 20);
</script>
就是里面的iNum我上面赋值10
下面函数执行还是32 而不是42
谁给我解释下,刚开始学啊
var iNum=10;
function callAnotherFunc(fnFunction,vArgument) {
fnFunction(vArgument);
}
var doAdd = new Function("iNum" , "alert(iNum + 12)");
callAnotherFunc(doAdd, 20);
</script>
就是里面的iNum我上面赋值10
下面函数执行还是32 而不是42
谁给我解释下,刚开始学啊
var iNum=10;function callAnotherFunc(fnFunction,vArgument) {
fnFunction(vArgument);
}var doAdd = new Function("iNum" , "alert(iNum + 12)");callAnotherFunc(doAdd, 20);
</script><script >
以上代码在IE中测试没有问题,alter 32
<script>
var iNum=10;
function callAnotherFunc(fnFunction,vArgument) {
fnFunction(vArgument);//这里调用doAdd(20); ,iNum是个参数同名而已
}
//var doAdd = new Function("iNum" , "alert(iNum + 12)");//这个函数转化为
var doAdd=function(iNum) {
alert(iNum+12);
}
callAnotherFunc(doAdd, 20);
</script>