鍍金池/ 問答/HTML/ 我一直以為this指的是包含它的最近的作用域(它爸爸),但是貌似這樣理解是錯(cuò)誤的

我一直以為this指的是包含它的最近的作用域(它爸爸),但是貌似這樣理解是錯(cuò)誤的,感覺搞懂了this,js就比較6了

如題:
我一直以為this指的是包含它的最近的作用域(父級(jí)作用域)
但是看到下圖
圖片描述

這里的this為什么指向的是Jsonob而不是constructor構(gòu)造函數(shù)呢?

回答
編輯回答
護(hù)她命

1.this不指向Jsonb 如果你new了一個(gè)Jsonb的實(shí)例,this指向的是這個(gè)實(shí)例,而非類,所以首先你要清楚什么是類什么是實(shí)例
2.要搞懂this并不難,建議看一下你不知道的JS上前兩章,你就能搞明白作用域與this
3.簡(jiǎn)單來說,this是動(dòng)態(tài)的,是執(zhí)行時(shí)候綁定的;作用域是靜態(tài)的,是在你寫代碼的時(shí)候綁定的。this只有4種方式確認(rèn)其值,都了解了就迎刃而解了

2017年10月23日 06:55
編輯回答
萢萢糖

你代碼的同一函數(shù)內(nèi),有什么是你不能使用的,this 指向自身函數(shù)有啥意義?
var fn=function(a,b){console.log(this+','+ a+','+b)}
fn.call([0],1,2)
fn(1,2)

新手的話有個(gè)最簡(jiǎn)單判斷 .前的就是this
var o={}
o.m=fn
o.m(1,2) //.前的就是this (this is o)

對(duì)于 fn(1,2) 理解為 window(全局).fn(1,2) //(this is window)

2017年2月2日 09:16
編輯回答
瞄小懶

普通情況下this永遠(yuǎn)指向調(diào)用這個(gè)函數(shù)的地方,
箭頭函數(shù)就他自己,call,apply有強(qiáng)行換this的功能

2017年4月21日 05:05