-2

Comment utiliser la fonction flèche ES6 pour réaliser IIFE Immediately-Invoked Function Expression?Comment utiliser la fonction flèche ES6 pour réaliser une expression de fonction invoquée immédiatement (IIFE))?

Voici mes codes de démonstration, et il avait testé passé!

// ES 6 + IIFE 
 
(() => { 
 
    let b = false; 
 
    console.log(`b === ${b}!`); 
 
    const print = `print()`; 
 
    if(window.print){ 
 
     b = true; 
 
     console.log(`b === ${b}!`); 
 
    } 
 
    let x =() => { 
 
     if(b){ 
 
      console.log(`Your browser support ${print} method.`); 
 
     }else{ 
 
      alert(`Your browser does not support ${print} method.`); 
 
      console.log(`Your browser does not support ${print} method.`); 
 
     }; 
 
    } 
 
    x(); 
 
})(); 
 

 
const dcs = `IIFE: Douglas Crockford's style`; 
 
// ES 5 + IIFE is OK 
 
(function(){ 
 
    alert("IIFE: Douglas Crockford's style"); 
 
    console.log(dcs + ", ES 5 is OK!"); 
 
}()); 
 
// Douglas Crockford's style 
 

 
// ES 6 + IIFE (error) 
 
/* 
 
    (() => { 
 
     alert(`IIFE: Douglas Crockford's style`); 
 
     console.log(`${dcs},ES 6 is Error!`); 
 
    }()); 
 
*/ 
 
// Douglas Crockford's style
<!DOCTYPE html> 
 
<html lang="en"> 
 
<head> 
 
    <meta charset="UTF-8"> 
 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
 
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=3.0"> 
 
</head> 
 
<body> 
 
    <main id="print"> 
 
     <section> 
 
      <h1>Javascript ES6 & IIEF</h1> 
 
     </section> 
 
    </main> 
 
</body> 
 
</html>

Cependant, il y a encore quelque chose qui ne va pas sur le style de Douglas Crockford (IIEF)!

screencut enter image description here enter image description here

+3

Dans votre cas, pourquoi voulez-vous les exécuter en ce moment? – gurvinder372

+3

Votre question n'est pas claire. S'il vous plaît demandez à un ami ou un collègue de vous aider avec votre anglais. L'anglais parfait n'est pas ** nécessaire du tout, mais nous devons être en mesure de comprendre ce que vous demandez. À l'heure actuelle, il semble que votre question et votre code sont complètement indépendants l'un de l'autre. –

+2

Vous ne savez pas exactement ce que vous entendez par "fonction de tableau", mais votre fonction externe est exécutée immédiatement au lieu d'être affectée à 'window.onload' en raison de'() 'à la toute fin. Si vous ne le souhaitez pas, supprimez le '()' –

Répondre

1

Surround avec parenthèses:

(() => console.log('hello'))() 
+1

Merci pour votre temps, cela semble fonctionner! – xgqfrms