Pfeilfunktionen in ES6 Javascript

Gewöhnliche Funktion: function fn(){}
Pfeilfunktion: let fn = ()=>{}

<script>
        //普通函数的写法
        function getName1(){
            console.log('小马');
        };
        //调用函数  看控制台输出的结果是不是“小马”
        getName1();


        //箭头函数的写法
        let getName2 = ()=>{
            console.log('小红');
        };
        //调用函数
        getName2();
</script>

Ausgabeergebnis:

Erfahrung: Schauen Sie nicht auf die Einfachheit, wenn Sie es nicht selbst tun, werden Sie es vergessen.


Dies in der Pfeilfunktion:

       //1.this是静态的。 this始终指向函数声明时所在作用域下的this的值
        //普通函数的写法
        function getName1(){
            console.log(this.name);
        };
        //箭头函数的写法
        let getName2 = ()=>{
            console.log(this.name);
        };

        //设置window对象的name属性    
        window.name = '小马';      //也可以写成let name = '小马';
        const otherName = {
            name:'小红',
        };

        //调用函数
        getName1();
        getName2();

 Ausgabeergebnis:

Es ist nichts Falsches daran, ein „Pony“ zu sein, warum?

Da der Bereich der gewöhnlichen Funktion (also getName1) Fenster ist und der Bereich dieser Pfeilfunktion ebenfalls Fenster ist, lautet der von den beiden Funktionen auf der Konsole ausgegebene Wert „Little Horse“.


Okay, als nächstes werfen wir einen Blick auf den Unterschied zwischen gewöhnlichen Funktionen und Pfeilfunktionen,  wenn wir die Call-Methode verwenden, um die Richtung zu ändern :

//1.this是静态的。 this始终指向函数声明时所在作用域下的this的值
        //普通函数的写法
        function getName1(){
            console.log(this.name);
        };
        //箭头函数的写法
        let getName2 = ()=>{
            console.log(this.name);
        };

        //设置window对象的name属性    
        window.name = '小马';      //也可以写成let name = '小马';
        const otherName = {
            name:'小红',
        };

        //调用函数
        getName1();   //输出结果是:小马
        getName2();   //输出结果是:小马

        //call方法调用
        getName1.call(otherName);  //输出结果是:小红
        getName2.call(otherName);  //输出结果是:小马

Das Ausgabeergebnis der gewöhnlichen Funktion ist „Xiaohong“. Es stellt kein Problem dar, da die Aufrufmethode verwendet wird, um die Richtung so zu ändern, dass sie auf otherName zeigt.

Hat jemand Zweifel? ? ? Verwendet die Pfeilfunktion nicht auch die Aufrufmethode, um die Richtung zu ändern?         

Ja, die Aufrufmethode wird verwendet, um zu versuchen , sie zu ändern, aber ein Merkmal der Pfeilfunktion ist, dass das „This“ der Pfeilfunktion statisch ist und immer auf den Wert von „This“ in dem Bereich zeigt, in dem die Funktion deklariert ist. (Merke mir diesen Satz)

(: Also, selbst wenn Sie call verwenden, um zu versuchen, seine Ausrichtung zu ändern, aber weil es „this“ statisch ist, zeigt „this“ immer auf den Wert von „this“ in dem Bereich, in dem die Funktion deklariert ist. „This“ zeigt also immer noch auf „window“, also das Ausgabe erneut: „Pony“)


Abkürzung für Pfeilfunktionen (mit 2 Fällen):

        //箭头函数的简写(有两种情况)

            //1.省略小括号,当形参有且只有一个的时候
            let add= n => {   //这里的n省略了小括号!!!
                return n + n;
            };

            console.log(add(3)); //输出的结果是:6


            //2.省略花括号,当代码体只有一条语句的时候 
            //注意:花括号去掉的时候,return也应该省略
            let pow = (n) =>  n * n;   
            console.log(pow(3));  //输出的结果是:9

Ich denke du magst

Origin blog.csdn.net/weixin_54614831/article/details/125713875
Empfohlen
Rangfolge