這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 從webview頁面傳值到uniapp中 官方文檔已經很詳細了,這裡給大家上我的實戰代碼,首先在webview頁面中引入相關依賴: <!-- uniapp各平臺依賴 --> <script type="text/javascript"> ...
首先 在類中的方法中。this 要看是誰調用的。如果是實例調用的,那麼這個this就是這個實例。如:
class Student { constructor(flag) { this.flag = flag } mark(){ console.log(this); } } const s1 = new Student('jack') s1.mark()
結果:
如果不是實例調用的,類中的方法預設會開啟嚴格模式,this會變成undefined。不開啟嚴格模式,this是Window。
class Student { constructor(flag) { this.flag = flag } mark(){ console.log(this); } } const s1 = new Student('jack') const out = s1.mark out()
結果:
可以通過bind方法來綁定,首先看一下這個方法
class Student { constructor(flag) { this.flag = flag } mark(){ console.log(this); } } const s1 = new Student('jack') const out = s1.mark out() const x = s1.mark.bind(s1); x();
研究了好久也沒有理解這個方法的含義。其實這個要從後往前看,首先分為是誰來調用(X),入參是什麼(Y),返回的是什麼(Z)。
根據定義我們可以知道返回的是一個函數/方法(即Z是一個函數)。
這個bind其實就是把一個對象(Y)的一個方法(X)提取出來(Z)最後是一個方法
所以這裡就是把 Student對象實例變數s1 的mark方法 綁定到變數x里。