JavaScript的闭包问题!

来源:百度知道 编辑:UC知道 时间:2024/06/08 01:00:42
看了教程不太懂 下面是书上给的例子
<script>
<!--
function step(a)
{
return function(x)
{
return x+a; //内层的闭包可以访问外层的局部参数a
}
}
var b = step(10);
alert(b(20)); //得到30
var c = step(20);
alert(c(20)); //得到40
-->
</script>
先给了step函数 里面return后面的是什么呀? 也不像个函数,没函数名,只有参数x。
还有var b=step(10) 这里b等于什么? 那个x值传递的是什么? 搞糊涂了。

这个程序 帮我详细解释一下吧 谢谢大家~~~

return后面的是一个函数,也就是var b=step(10)时,等同于function b(x){ return x+10;},故alert(b(20))得到30;
var c一样的道理。
实际上运用不用搞这么复杂的,只是写书的人耍手段了,为了显高明嘛。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
<meta name="generator" content="editplus" />
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
</head>

<body>
<table border=1>
<tr>
<td id="td_1">1</td>
<td id="td_2">2</td>
<td id="td_3">3</td>
<td id="td_4">4</td>
</tr>
</table>
<script typ