Java JUC併發之synchronized與Lock的區別
阿新 • • 發佈:2021-07-15
箭頭函式與普通函式的區別
// 普通函式 function fun() { return 100 } const fn = function () { return 100 } // 箭頭函式 const fn1 = () => 100 /* 箭頭函式 ()中定義引數,如果只有一個引數,可以不寫括號 {}中寫函式體,如果函式體重只有返回值,可以不寫return */ // 普通函式 let obj = { name: "小明", age: 2, sayName() { console.log(`我是${this.name}`) } } obj.sayName() // 我是小明 // setTimeout let obj = { name: "小明", age: 2, sayName() { setTimeout(function () { console.log(`我是${this.name}`) }, 500); } } obj.sayName() // 我是 // setTimeout中this指向window // 箭頭函式 let obj = { name: "小明", age: 2, sayName() { setTimeout(() => { console.log(`我是${this.name}`) }, 500); } } obj.sayName() // 我是小明 /* 箭頭函式和普通函式的區別: 1. this指向不同 2. 普通函式,誰呼叫這個函式,this指向誰 3. 箭頭函式,在哪裡定義函式,this指向誰 */