JavaScript繫結this
問題描述
var a = {
one: 1,
haha() {
console.log(this.one)
}
}
setTimeout(a.haha, 1000)
在上例中,函式haha引用了this.one,而定時器結束之後呼叫的haha傳入的this並不是a,輸出結果this.one是未定義變數。
方法一:使用箭頭函式的方式設定回撥
var a = { one: 1, haha() { console.log(this.one) } } setTimeout(() => { a.haha() }, 1000)
方法二:手動指定this
var a = {
one: 1,
haha() {
console.log(this.one)
}
}
function go(func) {
func.bind(a).call()
}
go(a.haha)
相關推薦
JavaScript繫結this
問題描述 var a = { one: 1, haha() { console.log(this.one) } } setTimeout(a.haha, 1000) 在上例中,函式haha引用了this.one,而定時器結束之後呼叫的haha傳入的this並不是a,
javascript 繫結事件
在html和css中標籤可以繫結事件,當事件發生時,繫結的函式隨即執行。常用事件有onclick,onblur,onfocus,onmousemove等,這裡不談這些事件。我們只來說一下這些事件繫結以onclick為例的辦法: 第一種,比較簡單的辦法 <div id="1"o
Javascript繫結click事件的四種方式總結
一:HTML中新增onclick <button id="vv" onclick="myfunction()" >哈哈</button> 二:JS中定義函式繫結事件! var funcc = function () {
為什麼React事件處理函式必須使用Function.bind()繫結this?
class Toggle extends React.Component { constructor(props) { super(props); this.state = {isToggleOn: true}; // This bind
react最佳實踐-React繫結this
React繫結this的方式在這裡總結5種方式: 1.React.createClass自動繫結:React.createClass建立的元件,可以自動繫結this。This這個關鍵字會自動繫結在元件例項上面。 2.渲染時繫結:這種方法簡明扼要,但是有一個潛在的效能問題:
深入解析react關於事件繫結this的四種方式
這篇文章主要介紹了詳解react關於事件繫結this的四種方式,寫的十分的全面細緻,具有一定的參考價值,對此有需要的朋友可以參考學習下。如有不足之處,歡迎批評指正。 在react元件中,每個方法的上下文都會指向該元件的例項,即自動繫結this為當前元件,而且react還
CEF3 非同步JavaScript繫結 自定義實現
https://github.com/fanfeilong/cefutil/blob/master/doc/CEF%20General%20Usage-zh-cn.md#asynchronous-javascript-bindings 在看非同步js繫結的自定義實現部分時,給出了幾個片段的程式碼
react事件處理,為類方法繫結this
react事件繫結屬性的命名採用駝峰命名法, 如果採用JSX的語法,需要傳入一個函式作為事件處理函式,而不是一個字串(DOM元素的寫法)。 阻止事件的預設行為: 不能使用返回false的方式來阻止預設行為,必須明確的使用preventDefault 在類方法中繫
React map生成元素新增點選事件繫結this
問題使用.map(function(Item)生成元素新增onClick事件:onClick={this.provinceChange.bind(this, "99")}時,前臺訪問報錯:Uncaught TypeError: Cannot read property 'provinceChange' of
React事件處理函式中繫結this的bind()函式
今天在看最新的React官方教程時發現了一個問題,開始全面使用ES6語法的React在Handling Events這節中,提到了繫結的事件處理函式要現在建構函式中使用bind()將this進行正確的繫結,涉及到的程式碼如下: class Toggle e
JavaScript繫結事件的方法[3種]
要想讓 JavaScript 對使用者的操作作出響應,首先要對 DOM 元素繫結事件處理函式。所謂事件處理函式,就是處理使用者操作的函式,不同的操作對應不同的名稱。在JavaScript中,有三種常用的繫結事件的方法: 在DOM元素中直接繫結;在JavaScript程式碼中
React ES6元件裡繫結this的三種方式
React可以使用React.createClass、ES6 classes、純函式3種方式構建元件。使用React.createClass會自動繫結每個方法的this到當前元件,但使用ES6 classes或純函式時,就要靠手動繫結this了。 bind
深入理解JavaScript之this的四種繫結
之前對this的四種繫結不太理解,好在瀏覽了https://www.cnblogs.com/xiaohuochai/p/5735901.html這篇博文,才得以清晰思路,接下來我再次總結this的四種繫結機制。 1 this的四種繫結機制 在JavaS
javascript this繫結機制
1.查詢呼叫點:函式被呼叫的位置 大多數瀏覽器(Google)都內建開發者工具,其中就包含JS偵錯程式。為什麼要找函式的呼叫點?因為函式在呼叫點的呼叫形式決定了this繫結。 function foo(something) { //debugger; co
【進階3-1期】JavaScript 5 種 this 繫結全面解析
(關注福利,關注本公眾號回覆[資料]領取優質前端視訊,包括Vue、React、Node原始碼和實戰、面試指導) 本週正式開始前端進階的第三期,本週的主題是this全面解析,今天是第9天。 本計劃一共28期,每期重點攻克一個面試重難點,如果你還不瞭解本進階計劃,點選檢視前端進階的破冰之旅 如果覺得本系列不
Js的四種呼叫方式和this繫結物件——《JavaScript語言精粹》
JavaScript一共有四種呼叫模式:方法呼叫模式、函式呼叫模式、構造器呼叫模式和apply呼叫模式。 方法呼叫模式: 當一個函式被儲存為物件的一個屬性時,我們稱之為一個方法。當一個方法被呼叫時,this被繫結到該物件。 var myObject = { value: 0,
JavaScript中this物件的繫結
呼叫一個函式將暫停當前函式的執行,傳遞控制權和引數給新函式。除了宣告時定義的形式引數,每個函式接受兩個附加的引數:this和arguments 。引數 this 在面向物件程式設計中非常重要,它的值取決於呼叫的模式。在JavaScript中一共有四種呼叫模式:方法呼叫模式、函式呼叫模式、構造器呼叫模
JavaScript函式中this的四種繫結策略
this的四種繫結策略 預設繫結 隱式繫結 顯示繫結 new繫結 1. 預設繫結 當一個函式沒有明確的呼叫物件的時候,也就是單純作為獨立函式呼叫的時候,將對函式的this使用預設繫結:繫結到全域性的window物件 // 第一個例子 var
JavaScript this繫結過程
在理解this 的繫結過程之前,首先要理解呼叫位置:呼叫位置就是函式在程式碼中被呼叫的位置(而不是宣告的位置)。只有仔細分析呼叫位置才能回答這個問題:這個this 到底引用的是什麼?通常來說,尋找呼叫位置就是尋找“函式被呼叫的位置”,但是做起來並沒有這麼簡單,因為某些程式設計模式可能會隱藏真
JavaScript 的 this 指向和繫結詳解
JavaScript 中的 new、bind、call、apply 實際這些都離不開 this,因此本文將著重討論 this,在此過程中分別講解其他相關知識點。 注意: 本文屬於基礎篇,請大神繞路。如果你不夠了解,或者瞭解的還不完整,那麼可以通過本文來複習一下。 ## this 指向的型別 剛開始學習