Javascript 我想让这个脚本执行fun1和嵌套的fun2函数
我希望脚本执行函数fun1和嵌套函数fun2,以显示变量x的值以及x和y的总和Javascript 我想让这个脚本执行fun1和嵌套的fun2函数,javascript,html,Javascript,Html,我希望脚本执行函数fun1和嵌套函数fun2,以显示变量x的值以及x和y的总和 function fun1 (){ var x = 10; document.write(x+"<br/>"); function fun2 (){ var y = 20; document.write(x+y); } } fun1(); 函数fun1(){ var
function fun1 (){
var x = 10;
document.write(x+"<br/>");
function fun2 (){
var y = 20;
document.write(x+y);
}
}
fun1();
函数fun1(){
var x=10;
文件。写(x+“
”);
函数fun2(){
变量y=20;
文件写入(x+y);
}
}
fun1();
我认为您需要调用函数2(),而不是在内部声明:
<!DOCTYPE html>
<html>
<head>
<title>Closure</title>
</head>
<body>
<script>
function fun1 (){
var x = 10;
document.write(x+"<br/>");
fun2(x);
}
function fun2 (x){
var y = 20;
document.write(x+y);
}
fun1();
</script>
</body>
</html>
关闭
函数fun1(){
var x=10;
文件。写(x+“
”);
fun2(x);
}
函数fun2(x){
变量y=20;
文件写入(x+y);
}
fun1();
我认为您需要调用函数2(),而不是在内部声明:
<!DOCTYPE html>
<html>
<head>
<title>Closure</title>
</head>
<body>
<script>
function fun1 (){
var x = 10;
document.write(x+"<br/>");
fun2(x);
}
function fun2 (x){
var y = 20;
document.write(x+y);
}
fun1();
</script>
</body>
</html>
关闭
函数fun1(){
var x=10;
文件。写(x+“
”);
fun2(x);
}
函数fun2(x){
变量y=20;
文件写入(x+y);
}
fun1();
在您的示例中,您只定义了第二个函数,要使用闭包执行它,您应该返回它:
function fun1 (){
var x = 10;
document.write(x+"<br/>");
return function fun2 (){
var y = 20;
document.write(x+y);
}
}
在您的示例中,您只定义了第二个函数,要使用闭包执行它,您应该返回它:
function fun1 (){
var x = 10;
document.write(x+"<br/>");
return function fun2 (){
var y = 20;
document.write(x+y);
}
}
闭包是关于函数和上下文的组合。如果
function2
是在function1
之外声明的-它无权访问变量x
闭包是关于组合函数和上下文的。如果function2
是在function1
之外声明的,则它无权访问变量x