js function中this的轉換

2021-10-19 17:23:45 字數 545 閱讀 8552

**

class animal 

says(say), 1000)

}} var animal = new animal()

animal.says('hi') //undefined says hi

執行上面的**會報錯,這是因為settimeout中的this指向的是全域性物件。所以為了讓它能夠正確的執行,傳統的解決方法有兩種:

1.第一種是將this傳給self,再用self來指代this

says(say), 1000)
2.第二種方法是用bind(this),即

says(say).bind(this), 1000)
es6中:

class animal 

says(say), 1000)

}} var animal = new animal()

animal.says('hi') //animal says hi

js function 函式初介紹

今天我們把js中的函式function 函式簡單介紹一下。函式的作用是什麼呢?主要就是將我們寫的 封裝在一起,方便我們後期的呼叫,比如乙個for迴圈在執行完畢後,如果我們還想要它在後面也進行使用,我們總不能又寫一遍吧?所以我們使用函式來方便我們。函式的基本架構 function hanshu a,b...

js function定義函式使用心得

js function定義函式使用心得,了解這個才能更進一步的了解js物件導向方面的知識。1.最基本的作為乙個本本分分的函式宣告使用。複製 如下 function func 或 var func function 2.作為乙個類構造器使用 複製 如下 function class class.pro...

js function定義函式使用心得

原文 1.最基本的作為乙個本本分分的函式宣告使用。複製 如下 function func 或 var func function 2.作為乙個類構造器使用 複製 如下 function class class.prototype var item new class 3.作為閉包使用 複製 如下 f...