1. 程式人生 > 其它 >【mysqlclient】MySQLdb/_mysql.c:1340:5: 錯誤:只允許在 C99 模式下使用‘for’迴圈初始化宣告

【mysqlclient】MySQLdb/_mysql.c:1340:5: 錯誤:只允許在 C99 模式下使用‘for’迴圈初始化宣告

箭頭函式與普通函式區別

一、箭頭函式是匿名函式,不能作為建構函式,不能使用new。

在這裡插入圖片描述
不能使用new關鍵字,不然會報錯
在這裡插入圖片描述

在這裡插入圖片描述

二、箭頭函式內沒有arguments,可以用展開運算子…解決

在這裡插入圖片描述

三、箭頭函式的this,始終指向父級上下文(箭頭函式的this取決於定義位置父級的上下文,跟使用位置沒關係,普通函式this指向呼叫的那個物件)

var a=200;

let obj={
    a:100,
    fn:function(){   //es5 誰呼叫,this指向誰
        console.log(this.a);
    },
    foo:()=>{   //  es6箭頭函式的this指向父級(
obj)上下文。 console.log(this.a) } } obj.fn();// 100; obj.foo();//200

四、箭頭函式不能通過call() 、 apply() 、bind()方法直接修改它的this指向。(call、aaply、bind會預設忽略第一個引數,但是可以正常傳參)

在這裡插入圖片描述

五、箭頭函式沒有原型屬性

在這裡插入圖片描述