国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - Javascript中this的用法詳解

Javascript中this的用法詳解

2021-03-16 16:31JavaScript教程網 JavaScript

本文主要是重新回顧一下自己關于this的理解,發現自己的理解確實是有些偏差的,記錄一下,希望對大家有所幫助

前些日子面試的時候用到了this,面試官說我的理解有點偏差,回來看了下書和一些博客,做了點測試,發現自己的理解的確有誤

1.全局變量

應該是最常用的吧,函數中調用一個this,這里其實就是全局變量

?
1
2
3
4
var value="0"; function mei(){
 var value="1";
 console.log(this.value); //0  console.log(value);   //1 }
mei();

輸出0就是因為this指向的是全局

2.構造函數

這是我比較熟悉的用法,構造函數中用this,new一個新的對象后this就指向了這個新的對象

?
1
2
3
4
5
6
7
var value="window"; function mei(){
 this.value=1;
 this.show=function(){
  console.log(this.value)
 }
} var m=new mei();
console.log(m.value);  //1 m.show();        //1

可以看到輸出的是1而并不是window,可見由于構造函數,這里的this已經指向新的對象了而不是全局變量

3.call和apply

直接借用我的call和apply的博客中的例子

?
1
2
3
4
5
6
7
8
var p="456";
function f1(){
 this.p="123";
}
function f2() {
 console.log(this.p);
}
f2();       //456  f2.call(f1());  //123  f2.apply(f1());  //123

第一行輸出456很好理解,this指向全局,后面的123是因為使用了call或者apply后,f2中的this指向了f1,而f1中的p為123,具體解釋直接戳那篇博文

4.函數作為某個對象的方法調用(我出錯的地方)

當時讓我寫一個對象有幾個方法,我腦子一抽定義了個全局變量,然后在對象的方法里用this調用,面試官問我這個this是什么?我說應該是window,因為這種方式我用的少,以為只有new或者call才會改變this的指向,他就說不對,讓我回去自己看看,現在試了試,我還真是錯了,貼代碼

?
1
2
3
4
5
var value="father"; function mei(){}
mei.value="child";
mei.get=function(){console.log(this.value)};
mei.show=function(){console.log(value)};
mei.get();   //child mei.show();  //father

由于get是作為mei的方法調用的,因此這里的this指向了mei.value所以輸出child

至于father我是這樣理解的,show指向的函數是定義在全局環境下的,由于作用域鏈,在show中沒有找到value,于是就去定義他的環境中找,這就找到了全局的value,如果這里有理解錯誤的話希望有朋友可以指出來!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲欧美激情精品一区二区 | 国产福利一区二区 | 在线日韩欧美 | 亚洲精品乱码久久久久久金桔影视 | 久久久精品网 | 亚洲日本电影 | 国内自拍视频在线观看 | 特级毛片在线 | 99在线免费观看 | 成人免费淫片aa视频免费 | 日韩在线观看视频一区二区三区 | 亚洲综合中文字幕在线 | 黄色大片aaaa | 亚洲精品中文字幕在线观看 | 欧美在线网站 | 成人免费视频视频 | 四虎影视 | 亚洲精品综合 | 国产在线观看高清 | 中文久久精品 | 国产中文视频 | 亚洲精品二区 | 国产成人av在线播放 | 在线一区二区三区 | 精品久久久久一区二区国产 | 日韩成人中文字幕 | 国内自拍视频在线观看 | 成年人黄色免费网站 | 成人午夜毛片 | 99久久99 | 夜夜操天天干, | 欧美成人精品激情在线观看 | 中日韩午夜理伦电影免费 | 国产久| 免费看a| 欧美亚洲国产一区二区三区 | 综合色九九 | 久久久久久久久久久久网站 | 国产中文字幕在线免费观看 | 欧美一区二区在线刺激视频 | 欧美在线视频一区 |