JS中的this是什麼,this的四種用法

在Javascript中,this這個關鍵字能夠說是用的很是多,說他簡單呢也很簡單,說他難呢也很難,有的人開發兩三年了,本身好像也說不清this究竟是什麼。下面咱們來看看:javascript

一、在通常函數方法中使用 this 指代全局對象java

function hello(){
   this.x = 1;
   console.log(this.x)
}

hello();
//此時控制檯打印1

2.做爲對象方法調用,this 指代上級對象網絡

function hello(){
   console.log(this.x)
}

var s = {};
s.x = 1;
o.m = hello;
o.m();
//此時控制檯打印1

3.做爲構造函數調用,this 指代new 出的對象app

function hello(){
   this.x = 1;
}

var s = new hello();
console.log(s.x)
//運行結果爲1,爲了代表這是this不是全局對象,咱們對代碼作一些改變

var x = 2;
function hello(){
   this.x = 1;
}

var o = new hello();
console.log(x)

4.apply 調用 ,apply方法做用是改變函數的調用對象,此方法的第一個參數爲改變後調用這個函數的對象,this指代第一個參數函數

var x = 0;
function hello(){
   console.log(this.x)
}

var h = {};
h.x = 1;
h.m = hello;
h.m.apply();  //輸出爲0

h.m.apply(h) //輸出1

以上就是經常使用的四種方法,你們要是不明白,能夠把demo運行一下本身就知道了。this

以上部份內容來自網絡,有問題能夠在下面評論,技術問題能夠在私聊我。code

技術QQ羣:213365178對象

相關文章
相關標籤/搜索