<!doctype html>
<html lang="zh-CN">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
<meta charset="UTF-8"/>
<title>Document</title>
</head>
<body>
<script>
var test=(function(a){
this.a=a;
return function(b){
return this.a+b;
}
}(function(a,b){
return a;
debugger;
}(1,2)));
console.log(test(4))
//结果是输出5 求解?
</script>
</body>
</html>
Mémoire
La formule originale est simplifiée en :
Une fois cette phrase exécutée,
test
est en faitEt en ce moment
this.a
等于1
。因此test(4)
结果为5
Il est évidemment 5 heures
Répartition
Si vous ne comprenez toujours pas cela, vous devez apprendre les bases
Nous devons d'abord comprendre que la variable test est en fait une fonction, comme suit
.La partie extérieure est une fonction qui est exécutée immédiatement. Premièrement,
.Le résultat de cette partie est 1, c'est-à-dire que le code peut être simplifié à :
Dans le code ci-dessus,
a=1
, donc dans test(4), on obtient :