<script>
function a()
{
var b=5;
return new function(){
var i=2
return new function (){
var x= 5
alert(b + i + x);
}
}
}
document.onclick = a
</script>
function a()
{
var b=5;
return new function(){
var i=2
return new function (){
var x= 5
alert(b + i + x);
}
}
}
document.onclick = a
</script>
JS很久没用过
b=5时 或者 i=2时 跳出这个function a()执行new function() 只有当x=5时才执行alert(b+i+x);
<script>
function a()
{
var b=5;
var i=2;
var x=5;
alert(b + i + x); //显示三个数相加的结果为:12
}
document.onclick = a ;//点击网页触发函数a执行
</script>
这段代码应该是用来演示函数作用域的。
函数内部的函数可以获取其上一层的函数定义的变量值。最终代码的意思就是点击页面,弹出提示框,显示 b + i + x 的值。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head><body>
</body>
</html>
<script>
function a()
{
//这是函数a
var b=5;
//下面这个函数作为对象被返回给了函数 a
return new function (){
//这是一个函数直接量,被直接执行
//这里能获得 b 的值
var i=2
//下面这个函数作为对象被返回
return new function (){
//这是一个函数直接量,被直接执行
//这里能获得 b 和 i 的值
var x=5
alert(b+i+x);
}
}
}
document.onclick=a
</script>