匿名函数、普通函数、箭头函数作用域
生活随笔
收集整理的這篇文章主要介紹了
匿名函数、普通函数、箭头函数作用域
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
匿名函數
/*************************************** * 匿名函數的this指向具有全局性 * 當this在函數內找不到時,會去全局查找 /***************************************/ name = "duck_99" var duck1 = {name: "duck_11",funcA: function(){return function(){console.log(this.name);}} } var duck2 = {name: "duck_22",funcA(){ //函數名與變量相同的時候簡寫return function(){console.log(this.name);}} } duck1.funcA()(); //打印:duck_99 duck2.funcA()(); //打印:duck_99 console.log("-------------------------------")普通函數
/*************************************** *普通函數的this指向當前定義的函數內部, *但是當函數被其他對象調用時this指向調用者的內部 /***************************************/ name = "oooooooooo"; var dog = {name: "小黑",funcA: function(){var name = "haha";console.log(this.name);} } dog.funcA(); //函數內的this指向調用者obj本身,這里打印:小黑 var funcB = dog.funcA; funcB(); //函數內的this指向全局變量func調用者本身:打印:oooooooooo console.log("-------------------------------")箭頭函數
/*************************************** * 箭頭函數的this定義: * 箭頭函數的this是在定義函數時綁定的,不是在執行過程中綁定的。 * 簡單的說,函數在定義時,this就繼承了定義函數的對象。 /***************************************/ var person = {name: "小明",age: 23,funcA: function(){var name = "momo";funcB = ()=>{console.log(this.name); //打印:小明}funcB();console.log(this.name); // 打印小明} } person.funcA(); console.log("-------------------------------")?
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的匿名函数、普通函数、箭头函数作用域的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: javascript创建类方法汇总(包含
- 下一篇: vue post请求后台django接口